当前位置: 代码迷 >> VBA >> C#操作Excel报表
  详细解决方案

C#操作Excel报表

热度:851   发布时间:2013-02-26 00:00:00.0
C#操作Excel表格
请问怎么用C#操作Excel表格,主要是要写的数据相当大,所以有以下几个要求:
   1.写的时候不需要打开excel表格,
   2.需要具体名字的不同sheet,
   3.需要具体操作各个sheet下面的每一个cell
   4.最好可以直接用循环之类的语句操作cells

先谢谢各位了。
------解决方案--------------------------------------------------------
vsto,设置excel的application的visible=false即可使得excel不可见。
循环sheets,循环cells。
------解决方案--------------------------------------------------------
     是这个吗?
string dt = "导出Excel";
            Excel.Pictures pics = sheet.Pictures(missing) as Excel.Pictures;
            (sheet.Cells[1, 3] as Excel.Range).Value = dt;
            Excel.Range cell;//编码,名称,规格,颜色,仓库,零售实时库存
            (sheet.Cells[1, 1] as Excel.Range).RowHeight = 20;
            AddHeader(sheet, 1, 12, "xyz");
            AddHeader(sheet, 2, 12, "编码");
            AddHeader(sheet, 3, 30, "名称");

            AddHeader(sheet, 4, 12, "规格");
            AddHeader(sheet, 5, 12, "颜色");
            AddHeader(sheet, 6, 12, "仓库");
            AddHeader(sheet, 7, 12, "零售实时库存");


 if (products != null)
            {
                for (int i = 0; i < products.Count; i++)
                {
                    int rowIndex = i + 3;
                    cell = sheet.Cells[rowIndex, 1] as Excel.Range;
                    cell.RowHeight = 20;
                    SetCellStyle(cell, true);
                    SetCellText(sheet, rowIndex, 1, "" + products[i].CHP_NAME);
                    SetCellText(sheet, rowIndex, 2, "" + products[i].PRD_CODE);
                    SetCellText(sheet, rowIndex, 3, "" + products[i].PRD_LOCALNAME);

                    SetCellText(sheet, rowIndex, 4, "" + products[i].PRD_SPEC);
                    SetCellText(sheet, rowIndex, 5, "" + products[i].PRD_COLOR);
  相关解决方案