44、C#操作Excel小结

1.加载Excel文件(使用所在路径,属于Excel处理的内容最好用中括号括起来,这样可以明显区分边界)

    WorkBook  workbook  = new  WorkBook (filePath);

2.加载Excel文件中的工作簿(一般是第一张)

    WorkSheet  worksheet = workbook.Worksheets[0];

3.插入列(在首列之前插入一列)

    worksheet.Cells.InsertColumn(0);

4.引用单元格(不管是赋值给此单元格还是引用此单元格的值,都要使用value)

    赋值:worksheet.Cells[0, 0].Value = “你好”;

    引用:string  name = Convert.ToString(worksheet.Cells[1, 1].Value).Trim();  //记得去除前后的空格(最好写个单的的方法判断一下空);convert类在.net的mscorlib.dll

5.判空:如果发现为空的一行,必须调过去,不能提示错误信息;获取每一个字段,全部为空则continue

6.每一次获取到Excel的工作簿的单元格的值,都要用空的string字段接收(在for循环中定义一个);如果需要回写,则单次循环就要回写好(最好使用ES操作)

7.在处理完成后,一定要保存Excel

    workbook.Save(filePath);


注意:

1.处理Excel最佳方法:ES

2.Excel处理数据检查:只要有一项数据有错误,就不导入,并且提示(可设置全局变量,在检查循环中发现错误则置false,循环完成只需要判断此全局变量即可,为false则保存Excel,返回)

3.Excel操作以内存为中心,而不是以数据库为中心,也就是说而要将数据库中的数据查一次出来加载到内存,而非什么都往数据库中去查,加载到内存再做“比较”操作。当然,不仅仅针对Excel是这样,只要涉及到数据库都是这样,只不过Excel操作很明显的是一条一条的数据操作的。

4.就算出错,也要在catch中或者通过判定:将Excel所属的attachmentID保存到数据库,方便捞取下载查原因

5. Excel的操作可以使用单张表,提示信息可以使用“回写”的方式(先遍历1000条,处理后,再回到1000条之前的那条,开始写入)


你可能感兴趣的:(C#,C#操作Excel小结)