C# 读写 excel (它支持html格式的excel文件)
2013-01-10 11:47
363 查看
这是通过微软office导出excel文件,为什么通过微软的office导出呢,因为我开始用的是npoi office导出,它不支持一种格式(就是html格式的excel文件),但是office支持,所以,写个博客,给大家分享,分享
思维方式:通过读取文件的excel文件,再通过模版格式导出相应的格式
思维方式:通过读取文件的excel文件,再通过模版格式导出相应的格式
/// <summary> /// 导出excel /// </summary> /// <param name="readFileName">读取文件路径</param> /// <param name="saveFileName">保存文件内容</param> public static void ReadFile(string readFileName, string saveFileName) { Microsoft.Office.Interop.Excel.WorkbookClass wbclass; WorkbookClass wkTemp; Worksheet ws; Worksheet wsTemp; Microsoft.Office.Interop.Excel.Application excelApp; DirectoryInfo di = new DirectoryInfo(readFileName); //遍历文件夹 if (di.Exists) { foreach (FileInfo item in di.GetFiles("*.xls")) { excelApp = new Microsoft.Office.Interop.Excel.Application(); object objOpt = System.Reflection.Missing.Value; //item.FullName 读取execl文件 wbclass = (WorkbookClass)excelApp.Workbooks.Open(item.FullName, objOpt, false, objOpt, objOpt, objOpt, true, objOpt, objOpt, true, objOpt, objOpt, objOpt, objOpt, objOpt); ws = (Worksheet)wbclass.Worksheets.get_Item(1); //取得总记录行数 (包括标题列) int rowsint = ws.UsedRange.Cells.Rows.Count; //得到行数 //int columnsint = mySheet.UsedRange.Cells.Columns.Count;//得到列数 Range rng1 = ws.Cells.get_Range("C1", "C" + rowsint); //rang Range rng2 = ws.Cells.get_Range("D1", "D" + rowsint); //rang Range rng3 = ws.Cells.get_Range("E1", "E" + rowsint); //rang Range rng4 = ws.Cells.get_Range("F1", "F" + rowsint); //rang object[,] CallType = (object[,])rng1.Value2; object[,] ActiveCall = (object[,])rng2.Value2; object[,] PassivityCall = (object[,])rng3.Value2; object[,] CallDate = (object[,])rng4.Value; //通过模版读取 wkTemp = (WorkbookClass)excelApp.Workbooks.Open("D:\\Template.xls", objOpt, false, objOpt, objOpt, objOpt, true, objOpt, objOpt, true, objOpt, objOpt, objOpt, objOpt, objOpt); wsTemp = (Worksheet)wkTemp.Worksheets.get_Item(1); Range rngD = (Range)wsTemp.Columns["D", Type.Missing];//设置单元格格式 Range rngE = (Range)wsTemp.Columns["E", Type.Missing];//设置单元格格式 rngD.NumberFormat = "yyyy-mm-dd hh:mm:ss"; rngE.NumberFormat = "hh:mm:ss"; //通过模版写入信息excel文件 for (int i = 1; i < rowsint; i++) { wsTemp.Cells[i, 1] = CallType[i, 1].ToString(); wsTemp.Cells[i, 2] = ActiveCall[i, 1].ToString(); wsTemp.Cells[i, 3] = PassivityCall[i, 1].ToString(); wsTemp.Cells[i, 4] = PassivityCall[i, 1].ToString(); } wsTemp.SaveAs(saveFileName + "\\1.xls", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value); excelApp.Workbooks.Close();//关闭打开的文档 否则学号会显示科学计数法。 excelApp.Quit(); } } }
相关文章推荐
- C# 读写 excel (它支持html格式的excel文件)
- Aspose.Cells v7.5.3 支持读写HTML文件格式的页面设置选项
- JExcelAPI读写excel文件的例子。支持excel2003文件格式。
- c#第三次作业 C#读取Excel文件,并保存成HTML格式
- Aspose.Cells v7.5.3 支持读写HTML文件格式的页面设置选项
- Unity下关于C#的文件读写三(Json格式读写-基于LitJson简单认识)
- Spring MVC+ Ireport 做统计报表,导出HTML、EXCEL等格式的文件,打印;
- C#中npoi操作Excel[版本2.0.1读写2003、2007格式
- C# 生成Excel文件及表格内容格式编辑 excel模板流
- 用C#读写ini配置文件(转自:http://www.cnblogs.com/zzyyll2/archive/2007/11/06/950584.html)
- C#对word、excel、pdf等格式文件的操作总结
- Mac技巧之让U盘、移动硬盘在苹果电脑和Windows PC都能识别/读写,且支持4GB大文件:exFAT格式
- C#对word、excel、pdf等格式文件的操作总结
- net控件中数据导到Excel的格式 首先,我们了解一下excel从web页面上导出的原理。当我们把这些数据发送到客户端时,我们想让客户端程序(浏览器)以excel的格式读取它,所以把mime类型设为:application/vnd.ms-excel,当excel读取文件时会以每个cell的格式呈现数据,如果cell没有规定的格式,则excel会以默认的格式去呈现该cell的数据。这样就给我们提供了自定义数据格式的空间,当然我们必须使用excel支持的格式。下面就列出常用的一些格式: 1) 文本
- 【C#附源码】数据库文档生成工具支持(Excel+Html)
- Mac技巧之让U盘、移动硬盘在苹果电脑和Windows PC都能识别/读写,且支持4GB大文件:exFAT格式
- 纯C#的ini格式配置文件读写
- [C#] Excel文件另存为Html
- c#中文件读写的编码格式
- c# 发送email,正文支持html格式,包含附件