我將數據從一個位置複製到另一個位置,並且能夠讀取和打印所有值,並且能夠在Excel文件中附加三列。因此,現在A,B,C柱成爲d,E,F(變速)等。追加三列後將數據寫入錯誤位置
Excel.Application app = new Excel.Application();
Excel.Workbooks workbooks = app.Workbooks;
string newlocation_filename = @"C:\Windows\Temp\" + FileName;
File.Copy(FilePath, newlocation_filename, true);
//string filename = FilePath;
workbooks.Open(newlocation_filename);
Excel.Workbook workbook = workbooks.Item[1];
Excel.Sheets worksheets = workbook.Worksheets;
Excel.Worksheet worksheet = (Worksheet)worksheets.Item[1];
Excel.Range cells = worksheet.UsedRange;
Range oRng = worksheet.Range["A1"];
oRng.EntireColumn.Insert(XlInsertShiftDirection.xlShiftToRight,XlInsertFormatOrigin.xlFormatFromRightOrBelow);
oRng = worksheet.Range["B1"];
oRng.EntireColumn.Insert(XlInsertShiftDirection.xlShiftToRight,XlInsertFormatOrigin.xlFormatFromRightOrBelow);
oRng = worksheet.Range["C1"];
oRng.EntireColumn.Insert(XlInsertShiftDirection.xlShiftToRight,XlInsertFormatOrigin.xlFormatFromRightOrBelow);
cells[1, 1] = "AccountNumber";//Set value for row 1 and column 2 (A1)
cells[1, 2] = "CustomerName";
cells[1, 3] = "ComparisionResult";//Set value for row 1 and column 3 (B1)
workbook.Save();//Save Excel-File
app.Quit();
}
從上面的代碼AccountNumber
,CustomerName
,ComparisionResult
都需要在A1設置,B1,C1細胞(所附新欄目)。但是 它代替了D1,E1,F1(舊的A1,B1,C1意味着在追加之前)字段值中的數據,並且A1,B1,C1字段值沒有更新。我認爲它取代了數據,然後追加正在發生。
任何Update語句都需要解決這個問題?
謝謝您的回覆。我只用了固定的位置[1,1],[1,2],[1,3]。未使用usedRange.cell [1,1]。 –
可以請你回來嗎? –
您設置了'cells' ='worksheet.UsedRange',所以'cells [1,1]'是* UsedRange *中的左上角單元格,並且不一定是*工作表中的左上角單元格。 –