C# 读写 excel (它支持html格式的excel文件)

原创 2013年12月03日 17:48:45

这是通过微软office导出excel文件,为什么通过微软的office导出呢,因为我开始用的是npoi office导出,它不支持一种格式(就是html格式的excel文件),但是office支持,所以,写个博客,给大家分享,分享

思维方式:通过读取文件的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# 将HTML 直接转成Excel

前些天写项目的时候,客户要求用HTML表格把信息展示出来,后面还要用展示的内容要导出Excel。本来想想在后台操作的话估计是要做死了,但是经过细想,Excel能够发布成HTML,一定也可以由HTML转...

一个高效的导出Excel方法,并且已解决导出会有样式文件夹的问题

这是导出Excel的其中一种方法,由于这个是将字符串(html中的)直接写到Excel文件中的,所以相对来说比较高效。但是,在用的时候有这样一个问题 当导出来后保存的时候,会同时出现一个.files...
  • wuxhyou
  • wuxhyou
  • 2013年03月08日 16:49
  • 2071

C#中npoi操作Excel[版本2.0.1读写2003、2007格式

public static void test1()        {            NpoiHelper np = new NpoiHelper();         ...

C#中npoi操作Excel[版本2.0.1读写2003、2007格式]

C#中npoi操作Excel[版本2.0.1读写2003、2007格式]        public static void test1()        {            NpoiHel...

C#中npoi操作Excel[版本2.0.1读写2003、2007格式]

下载npoi2.0.1dll文件:http://download.csdn.net/detail/pukuimin1226/5851747        public static ...

C#读写Excel和Word文件

  • 2008年10月09日 19:38
  • 154KB
  • 下载

c#第三次作业 C#读取Excel文件,并保存成HTML格式

【作业要求】 1. C#读取Excel文件 2. 保存成HTML格式 3.用文本显示上一步保存内容(无聊的时候随便加的) using System; using System....

C#读写 Excel文件类

最近整理了下前段时间做的东西,关于Excel的读写,在网上也看到不少关于这方面的代码,还是觉得不是很完善,就自己整理了一个Excel文件读写的类。代码如下:  ///     /// 标题:Exce...

C#读写excel文件

C#读写EXCEL方法一 using System; using System.Collections.Generic; using System.Drawing; using...
  • jglie
  • jglie
  • 2011年11月23日 10:06
  • 882
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C# 读写 excel (它支持html格式的excel文件)
举报原因:
原因补充:

(最多只允许输入30个字)