пример создания excel документа
Создание и заполнение документа excel используя openXML SDK.
SDK берем тут, скачиваем тот что поменьше. И подключаем библиотеки в наш проект.
До конца с форматом openxml и возможностями SDK я разобраться не успел, но создать простой лист и заполнить его данными получилось.
На выходе будем иметь вот это:
public void Save(String file) { using (SpreadsheetDocument spreadSheet = SpreadsheetDocument.Create( file, SpreadsheetDocumentType.Workbook)) { // создаем книгу spreadSheet.AddWorkbookPart(); spreadSheet.WorkbookPart.Workbook = new Workbook(); // создаем лист spreadSheet.WorkbookPart.AddNewPart<WorksheetPart>(); spreadSheet.WorkbookPart.WorksheetParts.First().Worksheet = new Worksheet(); // создаем SheetData spreadSheet.WorkbookPart.WorksheetParts.First().Worksheet.AppendChild(new SheetData()); // создаем первую строку Row row1 = new Row() { RowIndex = 1 }; // ячейка А1 Cell cell1 = new Cell() { CellReference = "A1", DataType = CellValues.Number, // числовой тип CellValue = new CellValue { Text = Convert.ToString(1) } }; // ячейка B1 Cell cell2 = new Cell() { CellReference = "B1", DataType = CellValues.Number, // CellValue = new CellValue { Text = Convert.ToString(2) } }; // ячейка С1 Cell cell3 = new Cell() { CellReference = "C1", DataType = CellValues.Number, // CellValue = new CellValue { Text = Convert.ToString(3) } }; // добавляем ячейки на строку row1.Append(cell1); row1.Append(cell2); row1.Append(cell3); // создаем первую строку Row row2 = new Row() { RowIndex = 2 }; // ячейка А1 Cell cell4 = new Cell() { CellReference = "A2", DataType = CellValues.Number, // числовой тип CellValue = new CellValue { Text = Convert.ToString(4) } }; // ячейка B1 Cell cell5 = new Cell() { CellReference = "B2", DataType = CellValues.Number, // CellValue = new CellValue { Text = Convert.ToString(5) } }; // ячейка С1 Cell cell6 = new Cell() { CellReference = "C2", DataType = CellValues.Number, // CellValue = new CellValue { Text = Convert.ToString(6) } }; // добавляем ячейки на строку row2.Append(cell4); row2.Append(cell5); row2.Append(cell6); // добавляем строки на лист spreadSheet.WorkbookPart.WorksheetParts.First().Worksheet.First().AppendChild(row1); spreadSheet.WorkbookPart.WorksheetParts.First().Worksheet.First().AppendChild(row2); // сохраняем лист spreadSheet.WorkbookPart.WorksheetParts.First().Worksheet.Save(); spreadSheet.WorkbookPart.Workbook.AppendChild(new Sheets()); spreadSheet.WorkbookPart.Workbook.GetFirstChild<Sheets>().AppendChild(new Sheet() { Id = spreadSheet.WorkbookPart.GetIdOfPart(spreadSheet.WorkbookPart.WorksheetParts.First()), SheetId = 1, Name = "newSheet" }); // сохраняем книгу spreadSheet.WorkbookPart.Workbook.Save(); } }
Комментарии закрыты.