如方便,请关注,必回关,谢谢!
最近刚学习了如何用将excel表格的数据存储到数据库中,如何将数据库的内容写入到excel表格中。
第一步,先“引用”,添加引用
Microsoft.Office.Interop.Excel
再命名空间中加入
using Microsoft.Office.Interop.Excel;
using Excel = Microsoft.Office.Interop.Excel;
将表格中的数据存储进入数据库
Excel.ApplicationClass xlsApp = new Excel.ApplicationClass();
xlsApp.DisplayAlerts = false;//运行宏时不会出现提醒
xlsApp.Visible = true;//使打开的excel显示
Excel.Workbook workbook = xlsApp.Workbooks.Add(true);
string a = System.IO.Directory.GetCurrentDirectory();//获取当前工作的目录
string fn=a+"\\Temp\\机柜.xlsx";//fn表示当前目录下的Temp文件夹下的机柜.xlsx文件
//打开文件
workbook = xlsApp.Workbooks.Open(fn, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
Worksheet mySheet = workbook.Sheets[1] as Worksheet;
//判断要取的表格中的数据是否为空
if (((Excel.Range)mySheet.Cells[row, 2]).Value2 != null){
//取表格中第一行第二列的值,想取其中哪一个值都可以。
//注意:多列合并时候,只需要取第一个列就是该合并列的数据项。
string c = (((Excel.Range)mySheet.Cells[1, 2]).Value2.ToString());
//然后将c存取入数据库的步骤就省略了。
/*如果想将数据库中的值写入表格中,同理,将最后一行代码改为
* mySheet.Cells[1, 2] = dr["dateItem"];//dr["dateItem"]为从数据库中取出来的数据
* /
}
//保存并关闭表格
workbook.Save();
workbook.Close(Type.Missing, Type.Missing, Type.Missing);
workbook = null;
xlsApp.DisplayAlerts = true;
xlsApp.Quit();
xlsApp = null;
//如果不关闭就不光会有那一个工作表格,还有一个空表格sheet1
但是这个有一个问题,会出现一个空表格sheet1,虽然对程序运行没有任何影响。但是我不知道这个怎么来的,直接关闭像上面一样是没问题的。
如果有人知道这个空表格sheet1是怎么来的请告知,谢谢