2
因此,我正在做一些For循環,這些循環遍歷從模板導入的不同變量更改,SQL腳本運行,數據轉儲,循環到下一個SQL腳本等,完成使用相同的模板文件(這在查詢結束轉儲保存爲一個新文件多次使用,作爲背景。將工作簿名稱傳遞給For循環C#
我需要能夠通過循環打開模板第一次,然後把它通過每個查詢轉儲,直到完成開,我不希望保留重新打開文件作爲其太大而笨重我有這個至今:
public void ExportToExcel(DataSet dataSet, string templatePath)
{
Excel.Application excelApp = new Excel.Application();
excelApp.Visible = true;
FileInfo excelFileInfo = new FileInfo(templatePath);
Boolean fileOpenTest = IsFileLocked(excelFileInfo);
if (!fileOpenTest)
{
Excel.Workbook templateBook = excelApp.Workbooks.Open(templatePath);
}
else
{
Excel.Workbook templateBook = excelApp.Workbooks[templatePath];
}
for (int i = 0; i < lstQueryDumpSheet.Items.Count; i++)
{
string tabName = lstQueryDumpSheet.Items[i].ToString();
Excel.Worksheet templateSheet = templateBook.Sheets[tabName];
// Copy DataTable
foreach (System.Data.DataTable dt in dataSet.Tables)
{ ... rest of loops...
我的問題是,代碼行「Excel.Worksheet templateSheet = templateBook.Sheets [tabName];」告訴我,「templateBook」沒有分配,但我在IF語句外分配它,所以它應該通過....右?