.net服务器没有COM+组件情况下使用NOPI和MyXls导入导出excel
2013-03-22 13:19
525 查看
使用第三方开源组件导入及导出Excel的解决方案:
偶然间发现了NPOI与MyXls,相见恨晚,害的我在Excel上浪费了那么多时间,他们俩的好处是:就是.net的自定义类库,可以直接对Excel进行读或写,而不依赖Office 的 Excel,这不管对于ASP.net或Winform都非常有利,不用担心Excel进程的释放问题,服务器安全,设置,导出,导入“Excel智能识别”,公式日期等问题,可以说以前的Excel问题,全都不用管了,它们可以很好的帮你解决,NPOI || MyXls == 研究几年Excel。NPOI开源地址:http://npoi.codeplex.com/
NPOI中文文档:http://www.cnblogs.com/tonyqus/archive/2009/04/12/1434209.html
MyXls开源地址:http://sourceforge.net/projects/myxls/
下面来两个简单入门例子:
MyXls 快速入门例子:
1 /// <summary>
2 /// MyXls简单Demo,快速入门代码
3 /// </summary>
4 /// <param name="dtSource"></param>
5 /// <param name="strFileName"></param>
6 /// <remarks>MyXls认为Excel的第一个单元格是:(1,1)</remarks>
7 /// <Author>柳永法 http://www.yongfa365.com/ 2010-5-8 22:21:41</Author>
8 public static void ExportEasy(DataTable dtSource, string strFileName)
9 {
10 XlsDocument xls = new XlsDocument();
11 Worksheet sheet = xls.Workbook.Worksheets.Add("Sheet1");
12
13 //填充表头
14 foreach (DataColumn col in dtSource.Columns)
15 {
16 sheet.Cells.Add(1, col.Ordinal + 1, col.ColumnName);
17 }
18
19 //填充内容
20 for (int i = 0; i < dtSource.Rows.Count; i++)
21 {
22 for (int j = 0; j < dtSource.Columns.Count; j++)
23 {
24 sheet.Cells.Add(i + 2, j + 1, dtSource.Rows[i][j].ToString());
25 }
26 }
27
28 //保存
29 xls.FileName = strFileName;
30 xls.Save();
31 }
NPOI 快速入门例子:
1 /// <summary>
2 /// NPOI简单Demo,快速入门代码
3 /// </summary>
4 /// <param name="dtSource"></param>
5 /// <param name="strFileName"></param>
6 /// <remarks>NPOI认为Excel的第一个单元格是:(0,0)</remarks>
7 /// <Author>柳永法 http://www.yongfa365.com/ 2010-5-8 22:21:41</Author>
8 public static void ExportEasy(DataTable dtSource, string strFileName)
9 {
10 HSSFWorkbook workbook = new HSSFWorkbook();
11 HSSFSheet sheet = workbook.CreateSheet();
12
13 //填充表头
14 HSSFRow dataRow = sheet.CreateRow(0);
15 foreach (DataColumn column in dtSource.Columns)
16 {
17 dataRow.CreateCell(column.Ordinal).SetCellValue(column.ColumnName);
18 }
19
20
21 //填充内容
22 for (int i = 0; i < dtSource.Rows.Count; i++)
23 {
24 dataRow = sheet.CreateRow(i + 1);
25 for (int j = 0; j < dtSource.Columns.Count; j++)
26 {
27 dataRow.CreateCell(j).SetCellValue(dtSource.Rows[i][j].ToString());
28 }
29 }
30
31
32 //保存
33 using (MemoryStream ms = new MemoryStream())
34 {
35 using (FileStream fs = new FileStream(strFileName, FileMode.Create, FileAccess.Write))
36 {
37 workbook.Write(fs);
38 }
39 }
40 workbook.Dispose();
41 }
相关文章推荐
- .NET -Myxls组件 导入导出Excel 服务器不需要安装Excel [魏言整理]
- Asp.Net使用Npoi导入导出Excel的方法
- NET使用NPOI组件将数据导出Excel
- net 不使用excel组件导出
- NET使用NPOI组件将数据导出Excel-通用方法 【推荐】
- NET使用NPOI组件将数据导出Excel
- asp.net导出excel 问题及服务器的部署dcom组件配置
- ASP.NET中使用开源组件NPOI快速导入导出Execl数据
- asp.net使用组件koogra读取Excel数据批量上传导入
- NET使用NPOI组件将数据导出Excel-通用方法 【推荐】
- SmartIIS 使用VS组件,在没有装IIS情况下浏览.NET网站的简单服务器(附源码)
- ASP.NET- 使用NPOI导入导出标准Excel
- ASP.NET中使用开源组件NPOI快速导入导出Execl数据
- Asp.Net使用Npoi导入导出Excel的方法
- asp.net怎样使用NPOI 导出到excel和从excel导入到数据库
- c#.net 使用NPOI导入导出标准Excel (asp.net winform csharp)
- 【推荐】.NET(webform,MVC)使用NPOI组件将数据导出、导入Excel。 Aspose.Cell 控件报表
- Myxls组件导入导出Excel(不需安装Excel)
- 使用NPOI组件完成的Excel导出导入(附源代码,测试通过)
- net控件中数据导到Excel的格式 首先,我们了解一下excel从web页面上导出的原理。当我们把这些数据发送到客户端时,我们想让客户端程序(浏览器)以excel的格式读取它,所以把mime类型设为:application/vnd.ms-excel,当excel读取文件时会以每个cell的格式呈现数据,如果cell没有规定的格式,则excel会以默认的格式去呈现该cell的数据。这样就给我们提供了自定义数据格式的空间,当然我们必须使用excel支持的格式。下面就列出常用的一些格式: 1) 文本