Вставить График В Excel С Используя Documentformat.openxml

NatNiM

New member
26.10.2012
4
0
#1
Здравствуйте.

Такая задача. Я создаю файл Excel и записываю туда данные из DataTable:

Код:
string docName = @"C:\Test.xlsx";
SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Create(docName, SpreadsheetDocumentType.Workbook);

WorkbookPart workbookpart = spreadsheetDocument.AddWorkbookPart();
workbookpart.Workbook = new Workbook();

WorksheetPart worksheetPart = workbookpart.AddNewPart<WorksheetPart>();
worksheetPart.Worksheet = new Worksheet(new SheetData());

Sheets sheets = spreadsheetDocument.WorkbookPart.Workbook.AppendChild<Sheets>(new Sheets());

Sheet sheet = new Sheet()
{
Id = spreadsheetDocument.WorkbookPart.
GetIdOfPart(worksheetPart),
SheetId = 1,
Name = "Joe"
};
var worksheet = worksheetPart.Worksheet;
var sheetData = worksheet.GetFirstChild<SheetData>();

for (int j = 0; j < dt.Rows.Count; j++ )
{
string territoryName = dt.Rows[j]["name"].ToString();
decimal salesLastYear = Convert.ToInt32(dt.Rows[j]["number"]);
decimal salesThisYear = Convert.ToInt32(dt.Rows[j]["val"]);
Row contentRow = CreateContentRow(index, territoryName, salesLastYear, salesThisYear);
index++;
sheetData.AppendChild(contentRow);
}

sheets.Append(sheet);
workbookpart.Workbook.Save();
spreadsheetDocument.Close();
Теперь ниже созданной таблицы нужно добавить диаграмму, как это можно сделать?
На оф. сайте приводится пример создания ступенчатой диаграммы, но у меня этот код создает файл excel с ошибкой и без диаграммы.
Буду благодарен за любую помощь.
 

LuMee

Well-known member
02.05.2006
477
0
#2
Лучше всего будет заглянуть в справку по VBA, идущую с MS Office, и поискать там классы/методы/функции для работы с диаграммами. После этого останется просто вызвать их в вашем C#-коде. Также можно почитать что-нибудь вроде этого. Ну и неработающий код покажите; возможно, найдем, что не так.