с использованием следующего кода для экспорта данных в Excel из C#. Я поставлю один образец изображения с этим, чтобы лучше знать, что мне нужно.Как мы можем указать столбцы DataType для строки, число Datetime в Excel/SpreadSheet при экспорте из C#
NOt только для одного столбца мы не можем сказать, что этот тип подходит к определенному столбцу в excel. при экспорте diffrent данных
Этот код я использую это
SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.
Create(savingFileName, SpreadsheetDocumentType.Workbook);
// Add a WorkbookPart to the document.
WorkbookPart workbookpart = spreadsheetDocument.AddWorkbookPart();
workbookpart.Workbook = new DocumentFormat.OpenXml.Spreadsheet.Workbook();
// Add a WorksheetPart to the WorkbookPart.
var worksheetPart = workbookpart.AddNewPart<WorksheetPart>();
var sheetData = new SheetData();
worksheetPart.Worksheet = new DocumentFormat.OpenXml.Spreadsheet.Worksheet(sheetData);
var bold1 = new System.Windows.Documents.Bold();
DocumentFormat.OpenXml.Spreadsheet.CellFormat cf = new DocumentFormat.OpenXml.Spreadsheet.CellFormat();
// Add Sheets to the Workbook.
DocumentFormat.OpenXml.Spreadsheet.Sheets sheets;
sheets = spreadsheetDocument.WorkbookPart.Workbook.
AppendChild<DocumentFormat.OpenXml.Spreadsheet.Sheets>(new DocumentFormat.OpenXml.Spreadsheet.Sheets());
// Append a new worksheet and associate it with the workbook.
var sheet = new Sheet()
{
Id = spreadsheetDocument.WorkbookPart.
GetIdOfPart(worksheetPart),
SheetId = sheetId,
Name = "Sheet" + sheetId
};
sheets.Append(sheet);
//Add Header Row.
var headerRow = new Row();
headerRow.RowIndex = 10;
var cell=new Cell();
foreach (DataColumn column in dtCollection.Columns)
{
cell = new Cell
{
DataType = CellValues.String, CellValue = new CellValue(column.ColumnName.ToUpper())
};
headerRow.AppendChild(cell);
}
sheetData.AppendChild(headerRow);
foreach (DataRow row in dtCollection.Rows)
{
var newRow = new Row();
foreach (DataColumn col in dtCollection.Columns)
{
cell = new Cell
{
DataType = CellValues.String,
CellValue = new CellValue(row[col].ToString())
};
newRow.AppendChild(cell);
}
sheetData.AppendChild(newRow);
}
workbookpart.Workbook.Save();
spreadsheetDocument.Close();
Изображение выглядит следующим образом
в этом выше ПОС вы можете увидеть дебетовую и кредитную колонку оно должно быть числом, но с моим код может быть единственным словом
Тип столбца
- Кредит-номер
- Дебет-Номер
- Дата-Дата-время
- Код струна
- открытие Баланс-Номер
с вышеуказанным требованием мне нужно экспортировать DataTable, чтобы преуспеть в Excel каждый столбец должен быть различным типом данных. как я могу это сделать, может кто-нибудь помочь мне завершить мою работу?
Возможный дубликат [Как сделать правильный формат даты при записи данных в Excel] (http://stackoverflow.com/ вопросы/3310800/how-to-make-correct-date-format-when-writing-data-to-excel) – stratovarius
Мне нужно не только датировать все типы, необходимые .. в одном excel. здесь мы не можем указать, какой тип столбца приходит каждый раз при экспорте в разных методах. –
Это свойство NumberFormat является решением вашей реальной проблемы. Он охватывает все типы форматов, номера и т. Д. Но теперь вы задаете еще одну проблему: «Как отображать примитивные типы столбцов динамически на экспорт?» Я прав? Поскольку запрашиваемые столбцы могут отличаться в каждом экспорте? – stratovarius