Как написать Excel, открыв его программно с Microsoft.Office.Interop.Excel DLL? - PullRequest
0 голосов
/ 30 октября 2009

Я хочу использовать Microsoft.Office.Interop.Excel dll для записи данных в таблицу Excel. У меня есть код:

if (System.IO.File.Exists(strFileName))
{
    System.IO.File.SetAttributes(strFileName, FileAttributes.Normal);
    System.IO.File.Delete(strFileName);
}

// Open an instance of excel. Create a new workbook.
// A workbook by default has three sheets, so if you just want 
//a single one, delete sheet 2 and 3

Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
Excel._Workbook xlWB = (Excel._Workbook)xlApp.Workbooks.Add(Missing.Value);

Excel._Worksheet xlSheet = (Excel._Worksheet)xlWB.Sheets[1];
((Excel._Worksheet)xlWB.Sheets[2]).Delete();
((Excel._Worksheet)xlWB.Sheets[2]).Delete();

xlSheet.Name = strSheetName;

// Write a value into A1
xlSheet.Cells[2, 1] = "Tags";
xlSheet.Cells[2, 2] = "Leak Test";
xlSheet.Cells[2, 3] = "FIR";
xlSheet.Cells[2, 4] = "SOP";

xlWB.SaveAs(strFileName, Missing.Value, Missing.Value, Missing.Value, 
Missing.Value,Missing.Value, 
Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, 
Missing.Value, Missing.Value, Missing.Value, Missing.Value);
xlApp.Quit();

// Release the COM object, set the Excel variables to Null, and tell the 
//Garbage Collector to do its thing
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlSheet);
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWB);
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);

xlSheet = null;
xlWB = null;
xlApp = null;

Теперь я хочу открыть существующий файл Excel по пути, а затем поместить некоторые данные в лист Excel, который мы назвали, и затем он будет сохранен по определенному пути из программы.

Пожалуйста, ответьте мне, если таковой имеется, который может открыть существующий файл Excel и который можно добавить и сохранить под другим именем.

С уважением, Гириш

Ответы [ 3 ]

3 голосов
/ 25 мая 2011

ExcelPackage больше не поддерживается. Кажется, есть несколько ошибок. Читая комментарий там, я нашел http://epplus.codeplex.com/

Он основан на ExcelPackage и наследует лицензии (GPL), поэтому он может не соответствовать вашим требованиям.

1 голос
/ 30 октября 2009

Если вы используете версию Excel 2007, я бы рекомендовал вместо этого использовать ExcelPackage - это реализация стандарта OpenXML, она намного быстрее и намного менее грязная, чем COM-взаимодействие, и вы запустите его на компьютере, на котором даже не установлен Excel (Office), как на вашем веб-сервере.

Настоятельно рекомендуется - но ограничено Excel 2007 и выше.

0 голосов
/ 30 октября 2009

См. Здесь для информации .

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