Aspose.Cell 导出和导入Excel
.NET使用Aspose.Cells导入导出Excel文件
【摘要】
在.NET软件开发项目中,开发人员经常会碰到Excel导入导出的需求,而传统的使用Microsoft.Office.Interop 或者 Microsoft.ACE.OLEDB 都具有一些使用限制:
l 需要在服务器端装Excel或者Microsoft.ACE.OLEDB,且及时更新它,以防漏洞,还需要设定权限允许.NET访问COM+,如果在导出过程中出问题可能导致服务器宕机。
l Excel会把只包含数字的列进行类型转换,本来是文本型的,Excel会将其转成数值型的,比如编号000123会变成123。
l 导出时,如果字段内容以“-”或“=”开头,Excel会把它当成公式进行,会报错。
l Excel会根据Excel文件前8行分析数据类型,如果正好你前8行某一列只是数字,那它会认为该列为数值型,自动将该列转变成类似1.42702E+17格式,日期列变成包含日期和数字的。
本文将介绍Excel导入导出的另一种方法:Aspose.Cells,它能克服Microsoft.Office.Interop 或者 Microsoft.ACE.OLEDB的这些缺点
【正文】
使用Aspose.Cells
Aspose.Cells是比一个比较好用的第三方类库,使用它导入导出Excel不需要服务器安装Excel软件。
利用Aspose.Cells导入Excel
第一步:首先必须要下载Aspose.Cells.dll文件,然后在在项目中引用,不需安装。
第二步:在CS文件中添加引用。
using Aspose.Cells;
第三步:具体使用方法
l 将用户选择的Excel文件导入到DataTable对象中
if (!fileLoad.HasFile)
{
ShowMessage("请选择要导入的Excel文件");
return;
}
string ex = fileLoad.FileName.Split('.').Last();
if (ex != "xlsx" && ex != "xls")
{
ShowMessage("模板必须是Excel文件,请下载正确的模板");
return;
}
Workbook workbook = new Workbook(fileLoad.FileContent);
Worksheet worksheet = workbook.Worksheets[0];
Cells cells = worksheet.Cells;
DataTable dt;
dt = cells.ExportDataTableAsString(0, 0, cells.MaxDataRow + 1, cells.MaxDataColumn + 1, true);
上面的代码是将用户选择的Excel文件的内容导入到DataTable,当然Aspose.Cells还提供将Excel的数据导入到GridView、DataView等等数据绑定控件并支持众多参数设置的方法。通过这些方法,开发人员可以非常灵活将Excel文件的数据导入。
l 将数据导出到Excel文件,并下载。
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];
Cells cells = worksheet.Cells;
DataTable dt = service.GetAllConsumeByFilter(txtFilterMobile.Text,
txtFilterMobile.Text, txtBeginDate.Text, txtEndDate.Text);
dt.Columns.Remove("ID");
cells.ImportDataTable(dt, true, "a1");
workbook.Save(HttpContext.Current.Response, HttpUtility.UrlEncode("消费列表.xlsx", System.Text.Encoding.UTF8), ContentDisposition.Attachment,new OoxmlSaveOptions(SaveFormat.Xlsx));
导出Excel的方法也很简单,上面的代码作用是将DataTable对象的数据导出到Excel文件,并提供用户下载,Aspose.Cells也提供了多种导出Excel方法,开发人员可以使用Aspose.Cells将DataView、GridView等等数据控件的数据导出到Excel.
l Aspose.Cells 对单元格进行操作
string path = HttpContext.Current.Server.MapPath("~");
path = path.Substring(0, path.LastIndexOf("\\"));
path += @"\HelloWorld.xlsx";
Workbook workbook = new Workbook(path);
Worksheet worksheet = workbook.Worksheets[0];
Cells cells = worksheet.Cells;
cells["A1"].PutValue("Cell Value");
style.Font.IsBold = true;
cells["A1"].SetStyle(style);
cells[0, 1].PutValue("Cell Value Type");
switch (cells[A, 0].Type)
{
case CellValueType.IsBool:
cells[A, 1].PutValue("IsBool");
break;
case CellValueType.IsDateTime:
cells[A, 1].PutValue("IsDateTime");
break;
case CellValueType.IsNull:
cells[A, 1].PutValue("IsNull");
break;
case CellValueType.IsNumeric:
cells[A, 1].PutValue("IsNumeric");
break;
case CellValueType.IsString:
cells[A, 1].PutValue("IsString");
break;
case CellValueType.IsUnknown:
cells[i, 1].PutValue("IsUnknown");
break;
}
上面的代码是对单元格进行赋值、设置样式、检查单元格数据类型,可以说Aspose.Cells的使用是非常灵活和简单的。
转载于:https://www.cnblogs.com/ysjBoke/p/4828091.html
Aspose.Cell 导出和导入Excel相关推荐
- 使用Aspose.Cell控件实现Excel高难度报表的生成(三)
在之前几篇文章中,介绍了关于Apsose.cell这个强大的Excel操作控件的使用,相关文章如下: 使用Aspose.Cell控件实现Excel高难度报表的生成(一) 使用Aspose.Cell控件 ...
- C# 导出和导入excel
#region 导出Excel/// <summary>/// 导出Excel/// </summary>/// <param name="page" ...
- 【vue + Excel表格导入与导出】导入Excel并展示在el-table表格中,表格导出为Excel文件
注:末尾有完整代码 效果图 Excel 1.下载依赖 xlsx是导入所需依赖 file-saver是导出所需依赖 npm install xlsx --save npm install file-sa ...
- NPOI导出和导入Excel,Word和PDF
Models文件夹 NPOIModel.cs namespace NPOItest.Models {using System;using System.Data.Entity;using System ...
- Linux Sql server 导出,SQL Server导出和导入Excel
从Excel文件中,导入数据到SQL数据库中,很简单,直接用下面的语句: /*============================================================= ...
- Easypoi导出、导入excel
所需pom依赖: <!-- 引入EasyPoi包 --><dependency><groupId>cn.afterturn</groupId><a ...
- 使用Aspose.Cell for Java操作Excel(已去除水印)
首先,在src下新建一个"license.xml", 内容如下: 1 <License> 2 <Data> 3 <Products> 4 < ...
- 利用Aspose.Word控件和Aspose.Cell控件,实现Word文档和Excel文档的模板化导出
我们知道,一般都导出的Word文档或者Excel文档,基本上分为两类,一类是动态生成全部文档的内容方式,一种是基于固定模板化的内容输出,后者在很多场合用的比较多,这也是企业报表规范化的一个体现. 我的 ...
- vue之Excel导出和导入
vue之Excel导出和导入 vue之Excel导出和导入 Excel导入 Excel导出 Excel多级表头导出 vue之Excel导出和导入 Excel导入 注意:多级表头的Excel导出排版出现 ...
- java excel导出2007_java操作excel文件,实现批量导出,和导入
一.POI的定义 JAVA中操作Excel的有两种比较主流的工具包: JXL 和 POI .jxl 只能操作Excel 95, 97, 2000也即以.xls为后缀的excel.而poi可以操作Exc ...
最新文章
- 创新工场提出中文分词和词性标注模型,性能分别刷新五大数据集| ACL 2020​
- FPGA In/Out Delay Timing Constaint
- python 装饰器实现事件绑定_Python装饰器是怎么实现的?
- 如何优雅的绘制一棵省市区三级可选择的树?
- java map是大括号_Java8如何基于flatMap处理异常函数
- Python笔记-假设检验之单样本T检验
- mysql远程登录备份_mysql实现自动远程备份一办法(转)
- (网页)java数组去重总结(转)
- 前置仓没活路?盒马mini要做行业终极目标还为时尚早
- -bash : ** : command not found的问题解决(图文详解)
- 依据经纬度解析商圈scala实现
- Repeater绑定数据库
- ubuntu安装rabbitvcs
- Discuz仿今日头条模板/Discuz新闻资讯商业版GBK模板
- firefox火狐同步windows和linux书签
- larval 策略模式
- ad16 怎么设置单独元件间距_AD软件中怎么添加不同元素之间的间距规则?
- java POI创建Excel示例(xslx和xsl区别 )
- 面向对象三大特性及关键字
- c语言中3次方函数图像,三次函数的性质