NOPI组件的使用
NOPI是一个导入导出的组件,功能十分强大,相对于使用Microsoft Jet OLE DB Provider引擎来实现导出,部署环境必须安装具体的引擎才能使用,
对于NOPI的更多信息可以看http://msdn.microsoft.com/zh-tw/ee818993.aspx里面的描述。
下面就讲下具体的基本用法,
string fileName = "测试"; DataSet dt = OrderManager.FinanceExport(); HSSFWorkbook workbook = new HSSFWorkbook(); MemoryStream ms = new MemoryStream(); //创建一个名称为Payment的工作表 ISheet paymentSheet = workbook.CreateSheet("Payment"); //数据源 DataTable tbPayment = dt.Tables[0]; //头部标题 IRow paymentHeaderRow = paymentSheet.CreateRow(0); //循环添加标题 foreach (DataColumn column in tbPayment.Columns) paymentHeaderRow.CreateCell(column.Ordinal).SetCellValue(column.ColumnName); // 内容 int paymentRowIndex = 1; foreach (DataRow row in tbPayment.Rows) { IRow newRow = paymentSheet.CreateRow(paymentRowIndex); //循环添加列的对应内容 foreach (DataColumn column in tbPayment.Columns) { newRow.CreateCell(column.Ordinal).SetCellValue(row[column].ToString()); } paymentRowIndex++; } workbook.Write(ms); Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.xls", fileName)); Response.BinaryWrite(ms.ToArray()); workbook = null; ms.Close(); ms.Dispose();
至于更多用法就看个人需求了,自己研究,可以实现自定义列大小,列格式,样式等等强大的功能,NOPI官网也有相应的例子可以自己查看。