/ / Wie benutzerdefinierte Format für Zellen wie Datetime in Infragistics Excel beim Exportieren von Daten in Excel - c #, asp.net, .net, Export-to-Excel, Infragistics

Wie benutzerdefinierte Format für Zellen wie Datetime in Infragistics Excel beim Exportieren von Daten in Excel - c #, asp.net, .net, export-to-Excel, Infragistics

Ich mache einen Export zu Excel mit Infragisticsübertreffen. Und ich möchte den Spaltentyp des Excel genau wie den Spaltentyp der db.Means setzen, wenn der Spaltentyp datetime ist, sollte er die datetime Spalte im infragistics Excel Blatt erstellen.

Ich habe es unter dem Code versucht.

 Infragistics.Documents.Excel.Workbook workbook = new Infragistics.Documents.Excel.Workbook();

// Create the worksheet to represent this data table
Infragistics.Documents.Excel.Worksheet worksheet = workbook.Worksheets.Add(dtReportData.TableName);

// Create column headers for each column
for (int columnIndex = 0; columnIndex < dtReportData.Columns.Count; columnIndex++)
{
worksheet.Rows[0].Cells[columnIndex].Value = dtReportData.Columns[columnIndex].ColumnName;
}

// Starting at row index 1, copy all data rows in
// the data table to the worksheet
int rowIndex = 1;
foreach (DataRow dataRow in dtReportData.Rows)
{
Infragistics.Documents.Excel.WorksheetRow row = worksheet.Rows[rowIndex++];

for (int columnIndex = 0; columnIndex < dataRow.ItemArray.Length; columnIndex++)
{
row.Cells[columnIndex].Value = dataRow.ItemArray[columnIndex];

if (dtReportData.Columns[columnIndex].DataType == Type.GetType("System.Decimal"))
{

//Here column should be of type decimal.

}
else if (dtReportData.Columns[columnIndex].DataType == Type.GetType("System.DateTime"))
{
//Here column type should be of type datetime.
}

}

Kann mir bitte jemand dabei helfen ..

Antworten:

0 für die Antwort № 1

Ich glaube nicht, dass Sie den Spaltentyp direkt einstellen können, wie ich mich erinnere, er wird durch den Zellenwert bestimmt, hier ist ein Beispiel, für das Doppelte gehen wir in einem String-Format durch, hoffe, es hilft.

    if (col.Definition.Type == DataType.Double)
{
.....
worksheet.Rows[r].Cells[column].CellFormat.FormatString = format;
}
else if (col.Definition.Type == DataType.DateTime)
{
...
worksheet.Rows[r].Cells[column].Value = col[row];
}
else if (col.Definition.Type == DataType.Boolean)
{
...
worksheet.Rows[r].Cells[column].Value = (bool) col[row];
}
else
{
// use string value, because some cell in the table is not a valid type in excel
worksheet.Rows[r].Cells[column].Value = col[row].ToString();
}