Почему мой файл Excel пуст после записи содержимого в ячейки с помощью Microsoft.Office.Interop.Excel? - PullRequest
0 голосов
/ 10 февраля 2020

Я использую Microsoft.Office.Interop.Excel для записи файла Excel. Код ниже не работает:

var excel = new Microsoft.Office.Interop.Excel.Application();
var workbook = excel.Workbooks.Add(Type.Missing);
var worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.ActiveSheet;
worksheet.Name = "sheet1";

worksheet.Cells[1,1] = "top left";
worksheet.Cells[1,2] = "top right";
worksheet.Cells[2,1] = "bottom left";
worksheet.Cells[2,2] = "bottom right";

workbook.SaveAs("temp.xlsx");
workbook.Close();
excel.Quit();

Создает файл Excel, но он пуст. Я ожидаю увидеть текст «вверху слева», «вверху справа», ... в первых 2 на 2 ячейки. Но я ничего не вижу.

Почему он не записывает содержимое на мой лист?

Мой код можно найти на github: https://github.com/gibran-shah/Image2Excel

1 Ответ

0 голосов
/ 10 февраля 2020

Возможно, эта ссылка может вам помочь: http://csharp.net-informations.com/excel/csharp-create-excel.htm
По приведенной выше ссылке попробуйте использовать: var worksheet = (Microsoft.Office.Interop.Excel.Worksheet) workbook.get_Item (1 );

Чтобы устранить неполадки, я бы выбрал какое-то другое имя для листа и проверил бы, действительно ли имя задается, открыв рабочую книгу и наблюдая за именем на вкладке листа. Это гарантирует, что вы действительно добавляете данные на лист, которым вы себя считаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...