6
Sto provando a scrivere numeri da un DataTable a un foglio dati - sfortunatamente, questo non funziona come previsto, e. g. il DataSheet è corrotto.Office Open XMl SDK Scrittura di numeri su foglio
Sto usando il seguente codice:
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);
}
}
Qualsiasi idea del perché questo non riesce? Ho appreso più tutorial con lo stesso approccio.
Grazie per il codice - unfortuanetly, sto iniziando ad un foglio perfettamente vuoto, non ci sono righe da scrivere. Proverò il codice interno - sembra molto promettente! –
è un metodo nuovo che ha funzionato bene, è possibile utilizzare il codice in cui si crea la cella e aggiungere il valore della cella e CellType non è altro che la formattazione di Cell. Spero che questo dia la tua risposta. – KirtiSagar
Ha funzionato, grazie! :) –