c#中的报表简单操作(Excel)
2016-03-01 10:22
295 查看
引用NPOI
打开“工具”->“NuGet程序包管理器”->”程序包管理器控制台”(我用的VS2015)
在控制台输入
Install-Package NPOI
稍等片刻即可
创建报表辅助类
ExcelHelper.csclass ExcelHelper { IWorkbook workBook; string filePath; FileStream fs; public ExcelHelper(string filePath) { this.filePath = filePath; fs = new FileStream(this.filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite); workBook = new XSSFWorkbook(); } /// <summary> /// DataTable转换为Excel文件 /// </summary> /// <param name="table"></param> /// <param name="sheetName"></param> public void DataTableToExcel(DataTable table, string sheetName) { ISheet sheet = workBook.CreateSheet(sheetName); //列名 IRow header = sheet.CreateRow(0); for (int j = 0; j < table.Columns.Count; ++j) { header.CreateCell(j).SetCellValue(table.Columns[j].ColumnName); } //添加数据 int count = 1; for (int i = 0; i < table.Rows.Count; ++i) { if (table.Rows == null || table.Rows.Count < 1) break; IRow row = sheet.CreateRow(count++); for (int j = 0; j < table.Columns.Count; ++j) { double res = 0; //判断是否为Double if (Double.TryParse(table.Rows[i][j].ToString(), out res)) { row.CreateCell(j).SetCellValue(res); } else { row.CreateCell(j).SetCellValue(table.Rows[i][j].ToString()); } } } } //写入文件 public void wirte() { workBook.Write(fs); } }
ExcelHelper的主要功能就是将DataTable写入到Excel的Sheet当中,可以创建多个Sheet,数据全部写完以后再Write。
调用
ExcelHelper eh = new ExcelHelper(filePath); eh.DataTableToExcel(dt1, sheetName1); eh.DataTableToExcel(dt2, sheetName2); eh.DataTableToExcel(dt3, sheetName3); ... eh.write();
相关文章推荐
- C#中的IDisposable模式用法详解
- 【c#学习笔记】 基础篇
- C#中几种常用的处理字符串的方法总结
- C# where用法
- 粗谈C#里 dictionary,HashTable,List<T>,Array 的性能优缺和实现原理。
- c# XML和实体类之间相互转换(序列化和反序列化)
- C# 查找其他应用程序并打开、显示、隐藏、关闭
- C#中Abstract和Virtual
- C# PDF ITextSharp
- 【C#进阶系列】02 PE文件,程序集,托管模块,元数据——还是那个Hello world
- C#显示存储过程返回的游标数据集
- C#显示存储过程返回的游标数据集
- C# Base 64 编码/解码实现代码
- C#中删除DataTable中的行的方法
- C#本质论 读书 笔记(五)
- 3.C#中泛型类的进一步探讨
- 不使用委托实现Observer模式
- C# lazy<T>的用法
- C# 中线程资源访问互斥量
- C# WinForm使用乐器数字接口