Открыть и изменить файл excel - C#
Формулировка задачи:
для открытия файла сам файл открывается в чем я не прав?
//Следующий код позволяет выполнять запуск Excel
excelapp = new Excel.Application();
excelapp.Visible = true;
//Получаем набор ссылок на объекты Workbook
excelappworkbooks = excelapp.Workbooks;
//Открываем книгу и получаем на нее ссылку
excelapp.Workbooks.Open(@"C:\Users\ITC3\Documents\Visual Studio 2010\Projects\ExcelForm\ExcelForm\bin\Debug\Excel.xlsx",
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);
//Если бы мы открыли несколько книг, то получили ссылку так
//excelappworkbook=excelappworkbooks[1];
//Получаем массив ссылок на листы выбранной книги
excelsheets = excelappworkbook.Worksheets;<<-- тут ошибка Ссылка на объект не указывает на экземпляр объекта.
//Получаем ссылку на лист 1
excelworksheet = (Excel.Worksheet)excelsheets.get_Item(1);
//Выбираем ячейку для вывода A1
excelcells = excelworksheet.get_Range("A1", "A1");
//Выводим число
excelcells.Value2 = 10.5;
//Выбираем лист 2
excelworksheet = (Excel.Worksheet)excelsheets.get_Item(2);
//При выборе одной ячейки можно не указывать вторую границу
excelcells = excelworksheet.get_Range("A1", Type.Missing);
//Выводим значение текстовую строку
excelcells.Value2 = "Лист 2";
excelcells.Font.Size = 20;
excelcells.Font.Italic = true;
excelcells.Font.Bold = true;
//Выбираем лист 3
excelworksheet = (Excel.Worksheet)excelsheets.get_Item(3);
//Делаем третий лист активным
excelworksheet.Activate();
//Вывод в ячейки используя номер строки и столбца Cells[строка, столбец]
int m, n;
for (m = 1; m < 20; m++)
{
for (n = 1; n < 15; n++)
{
excelcells = (Excel.Range)excelworksheet.Cells[m, n];
//Выводим координаты ячеек
excelcells.Value2 = m.ToString() + " " + n.ToString();
}
}Решение задачи: «Открыть и изменить файл excel»
textual
Листинг программы
#region Открытие шаблона и создание нового файла
string fileName = System.Windows.Forms.Application.StartupPath + "\\" + "Excel" + ".xlsx",
fileName_new = System.Windows.Forms.Application.StartupPath + "\\" + "Excel_new" + ".xlsx";
try
{
//Приложение самого Excel
excelapp = new Excel.Application();
excelapp.Visible = false;
//Книга.
excelappworkbooks = excelapp.Workbooks;
excelapp.Workbooks.Open(fileName,
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);
excelappworkbook=excelappworkbooks[1];
//Получаем массив ссылок на листы выбранной книги
excelsheets = excelappworkbook.Worksheets;
//Выбираем лист 1
excelworksheet = (Excel.Worksheet)excelsheets.get_Item(1);
//Выбираем ячейку для вывода A1
excelcells = excelworksheet.get_Range("A1", "A1");
//Выводим число
excelcells.Value2 = 10.5;
//Выбираем лист 2
excelworksheet = (Excel.Worksheet)excelsheets.get_Item(2);
//При выборе одной ячейки можно не указывать вторую границу
excelcells = excelworksheet.get_Range("A1", Type.Missing);
//Выводим значение текстовую строку
excelcells.Value2 = "Лист 2";
excelcells.Font.Size = 20;
excelcells.Font.Italic = true;
excelcells.Font.Bold = true;
//Выбираем лист 3
excelworksheet = (Excel.Worksheet)excelsheets.get_Item(3);
//Делаем третий лист активным
excelworksheet.Activate();
//Вывод в ячейки используя номер строки и столбца Cells[строка, столбец]
for (int m = 1; m < 20; m++)
{
for (int n = 1; n < 15; n++)
{
excelcells = (Excel.Range)excelworksheet.Cells[m, n];
//Выводим координаты ячеек
excelcells.Value2 = m.ToString() + " " + n.ToString();
}
}
excelworksheet.Activate();
excelworksheet = (Excel.Worksheet)excelsheets.get_Item(1);
for (int m = 1; m < 20; m++)
{
for (int n = 1; n < 15; n++)
{
excelcells = (Excel.Range)excelworksheet.Cells[m, n];
//Выводим координаты ячеек
excelcells.Value2 = m.ToString() + " " + n.ToString();
}
}
excelworksheet.SaveAs(fileName_new);
#endregion