6
Próbuję wo zapisywać Numbers z DataTable do arkusza danych - niestety, to nie działa zgodnie z oczekiwaniami, e. sol. DataSheet jest uszkodzony.Office Open XMl SDK Zapisywanie liczb na arkuszu
używam następujący kod:
private void AddDataToSheet(ExcelViewData data, SheetData sheetData)
{
var excelData = data.WriteableDataTable;
//// this returns a datatable
////the numbers have a format like "8,1" "8,0" etc.
for (int i = 0; i < excelData.Rows.Count; i++)
{
Row row = new Row();
//row.RowIndex = (UInt32)i;
for (int c = 0; c < excelData.Columns.Count; c++)
{
Cell cell = new Cell();
CellValue cellvalue = new CellValue();
//cell.CellReference = SharedMethods.GetExcelColumnName(i + 1) + (c + 1).ToString();
cell.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.Number;
cellvalue.Text = excelData.Rows[i][c].ToString().Replace(",",".");
cell.Append(cellvalue);
row.Append(cell);
}
sheetData.Append(row);
}
}
jakiś pomysł, dlaczego to się nie powiedzie? Mam wiele tutoriali z tym samym podejściem.
Dziękuję za kod - unfortuanetly, zaczynam w idealnie czystej kartce, nie istnieją żadne wiersze do zapisu. Wypróbuję wewnętrzny kod - wygląda bardzo obiecująco! –
to świeża metoda, która działa dobrze, możesz użyć kodu, w którym tworzysz komórkę i dodajesz wartość komórki, a CellType to nic innego jak formatowanie komórki. Mam nadzieję, że da ci to odpowiedź. – KirtiSagar
Udało się, dziękuję! :) –