请问怎么用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);