Сохранение документов Excel 2007
В .NET C # я пытаюсь открыть шаблон Excel, добавить некоторые данные и сохранить их в качестве нового документа. Я пытаюсь использовать формат документа OpenXML. Кажется, я не могу найти никаких указаний о том, как это сделать. Похоже, что во всех документах говорится о том, как писать различные части пакета, но я не могу найти ничего о том, что делать, когда вы закончите, и хотите сохранить его.
Кто-нибудь знает, где я могу найти эту информацию? Я должен думать об этом неправильно, потому что я не нахожу ничего полезного в том, что кажется очень простым.
благодаря
- Проблема открытия документов Office 07 в библиотеке SharePoint 07 с разрешениями только для чтения
- Как создать таблицу SQL с использованием столбцов excel?
- Как просмотреть текст объединенных ячеек при фильтрации другой ячейки?
- Экспорт данных Excel с исправлением ошибок / удаление зеленых треугольников
- Разделите вкладку «Разбор» в VBA
- Как получить объект «Data Validation» CommandBarButton?
- Excel Microsoft 2007 предотвращает автоматическое преобразование текста в дату
- Автоматизация Excel: экспорт PDF вызывает всплывающее окно «Настройка принтера»
- Ошибка VBA 80004005 при изменении региональных настроек
- Как добавить Office Interops из Office 2007 при использовании Office 2016
- Excel 2007 VBA - Использование Sheets.Add для создания диаграммы в конце книги
- Проблема при установлении соединения с excel
- Наличие скобок внезапно приводит к разрыву кода
ExcelPackage работает очень хорошо для этого. Он не был обработан главным автором, которого я не думаю немного, но у него есть хорошее мнение людей на его форуме, которые работают с любыми проблемами.
FileInfo template = new FileInfo(Path.GetDirectoryName(Application.ExecutablePath)+"\\Template.xlsx"); try { using (ExcelPackage xlPackage = new ExcelPackage(strFileName,template)) { //Enable DEBUG mode to create the xl folder (equlivant to expanding a xlsx.zip file) //xlPackage.DebugMode = true; ExcelWorksheet worksheet = xlPackage.Workbook.Worksheets["Sheet1"]; worksheet.Name = WorkSheetName; foreach (DataRow row in dt.Rows) { int c = 1; if (r > startRow) worksheet.InsertRow(r); // our query has the columns in the right order, so simply // iterate through the columns foreach (DataColumn col in dt.Columns) { if (row[col].ToString() != null) { worksheet.Cell(r, c).Value = colValue; worksheet.Column(c).Width = 10; } c++; } r++; } // change the sheet view to show it in page layout mode worksheet.View.PageLayoutView = false; // save our new workbook and we are done! xlPackage.Save(); xlPackage.Dispose(); } }
Доступ к документам Open XML / SpreadsheetML далеко не тривиальный. Спецификация является большой и сложной. «Open XML SDK» (google it) определенно помогает, но для этого требуется некоторое знание стандарта Open XML.
SpreadsheetGear для .NET имеет API, похожий на Excel, и может читать и записывать документы Excel Open XML (xlsx), а также документы Excel 97-2003 (xls).
Здесь вы можете увидеть образцы SpreadsheetGear и скачать бесплатную пробную версию здесь .
Отказ от ответственности: у меня есть ООО «SpreadsheetGear»