Изменение файла Excel .xls с использованием библиотеки объектов Microsoft Excel 12.0 - PullRequest
0 голосов
/ 08 сентября 2011

Я пытаюсь открыть файл .xls и сделать цвет заливки для некоторых ячеек.

Используя этот пример: http://csharp.net -informations.com / excel / csharp-format-excel.htm Я добавил следующую строку: "chartRange = xlWorkSheet.get_Range (" b9 ","e9"); "

chartRange.Interior.ColorIndex = 6;

, и это дало мне желаемую окраску ячеек.

Однако в примере создается файл Excel, и в моей программе я открываю существующийФайл .xls.Я могу прочитать значения в ячейках, поэтому я верю, что могу получить к ним доступ, но после того, как мой код выполнится и я открою файл, ячеек, которые должны быть окрашены в желтый, нет, я также попытался просто изменить текст вклетка и эти изменения не были сохранены.Так как же сохранить изменения, которые я делаю, в файл?

Я также пытался использовать эту строку, чтобы сделать SaveAs перед строкой кода .Close () ...

xlWorkBook.SaveAs(
    "C:\\sample.xls", 
    Excel.XlFileFormat.xlWorkbookNormal, 
    misValue, misValue, misValue, misValue, 
    Excel.XlSaveAsAccessMode.xlExclusive, 
    misValue, misValue, misValue, misValue, misValue);

Я открываю файл с помощью ...

xlWorkBook = xlApp.Workbooks.Open(
    "C:\\sample.xls", 0, false, 5, "", "", true,
    Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, 
    "\t", false, false, 0, true, 1, 0);

Я закрываю файл с помощью ...

xlWorkBook.Close(true, misValue, misValue);

1 Ответ

0 голосов
/ 08 сентября 2011

Посмотрите на принятый ответ в этом сообщении .
Другая ссылка может быть этим .
Чтобы выбрать диапазон, который я обычно использую:

Excel.Range dataRange =
    worksheet.get_Range("A:A,D:D,F:F", Missing.Value); // Multicolumn
...