利用ExcelLibrary导入导出excel
来源:互联网 发布:软件使用许可 编辑:程序博客网 时间:2024/04/30 06:24
.net项目中经常会要导入导出excel,ExcellLibrary是第三方开发的开源的一个操作excel的插件,项目中引用它在服务器上都不需要装office就能直接读出excel。
导出的code:
public void ExportExcel(string excleFileName, DataSet dt) { HttpContext context = HttpContext.Current; context.Response.Clear(); HttpContext.Current.Response.Charset = "GB2312"; HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); context.Response.AddHeader( "content-disposition", string.Format("attachment; filename={0}", excleFileName+".xls")); context.Response.ContentType = "application/ms-excel"; MemoryStream m = new MemoryStream(); ExcelLibrary.DataSetHelper.CreateWorkbook(m,dt); context.Response.BinaryWrite(m.ToArray()); context.Response.End(); }
导入的code
/// <summary> /// 通过插件读取Excel内容到DataTable,服务器上不用装excel /// </summary> /// <param name="path">xls在服务器上的绝对路径</param> /// <param name="fields">要读取的字段,以,分割,至少要有一个字段</param> /// <param name="dateCulunms">标出时间类型的列,为空忽略,通过组件读出来的时间类型跟系统时间不一样,所以要指出来做一下转换, DateTime.FromOADate(t);</param> /// <param name="cueInfo"></param> /// <returns>DataTable,为null读取失败</returns> public static DataTable GetDataListFromExcelByExelLibrary(string path, string fields, ArrayList dateCulunms, ref string cueInfo) { DataTable dt = new DataTable(); dt = ExcelLibrary.DataSetHelper.CreateDataTable(path, "Sheet1"); if (dt == null || dt.Rows.Count <= 0) { cueInfo = "从Excel读取数据失败!"; return null; } else { string[] fd = fields.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); //检测要取的数据列,是否存在。 foreach (string s in fd) { if (!dt.Columns.Contains(s)) { cueInfo = string.Format("Excel不存在 {0} 列,读取数据失败!",s); return null; } } } //遍历DataTable,将时间类型的列做一下转化(组件读出来的时间类型的数据是一些数字,需要转换成系统时间格式) if (dateCulunms != null && dateCulunms.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { foreach (string timeName in dateCulunms)//遍历多遍 { if (!dt.Columns.Contains(timeName)) { continue; } object stime = dt.Rows[i][timeName]; double t; bool flag = double.TryParse(stime + "", out t); DateTime dtime; if (flag) { dtime = DateTime.FromOADate(t); } else { if (!DateTime.TryParse(stime + "", out dtime)) { cueInfo = "Excel日期格式有误,读取数据失败!"; return null; } } dt.Rows[i][timeName] = dtime; //DateTime.FromOADate(Convert.ToDouble(dt.Rows[i]["发货日期"])); } } } return dt; }
excellibary.dll下载地址 点击打开链接
- 利用ExcelLibrary导入导出excel
- Asp.net利用ExcelLibrary输出EXCEL
- 利用ExcellLibrary导入导出excel
- 利用反射导入导出Excel
- 利用springmvc 导入导出excel
- 利用POI组件 导入导出excel
- 利用POI导入和导出excel文件
- thinkphp利用phpexcel实现导出导入excel
- .net mvc 利用NPOI导入导出excel
- Java____利用HSSF导出、导入excel文件
- .net mvc利用NPOI导入导出excel
- 利用POI实现Excel的导入导出
- 利用poi 导入导出excel文件
- .net mvc 利用NPOI导入导出excel
- 导入/导出Excel利用apache.poi
- ExcelLibrary 导出Excel报 “excel发现不可读取的内容”错误
- excellibrary
- 在Struts中利用Jxl对Excel的导入导出
- OpenGL ES & SDL
- 段页式内存管理
- 第十六周上机任务-项目3-打入内部寻内幕
- Linux高速缓存概述
- 【小明A+B】
- 利用ExcelLibrary导入导出excel
- 模版
- ExtJS FromPanel 填充静态的json
- 【上车人数】
- 常用的数据结构和算法
- linux下查找某个文件位置的方法
- 【换位置】
- Visual Studio 2010 可视化设计器不支持此文档根元素
- 自定义标签之 带Body的标签库