У меня есть код C #, который автоматически генерирует таблицу данных и импортирует ее в документ Excel, который можно отправить по электронной почте на введенный адрес электронной почты через форму CSHTML. Один из столбцов является столбцом идентификатора. Хотя идентификаторы являются целыми числами, начиная с 1, через форму CSHTML они поступают как элементы строковой формы.
Я использовал следующий код для импорта данных и Excel.
DataSet ds = new DataSet("Builder_Report");
DataTable dt = new DataTable("Requested_Data");
DataColumn column;
DataRow row;
var rows_ID = Request.Form.Get("ID");
column = new DataColumn();
column.DataType = System.Type.GetType("System.String");
column.ColumnName = "Review ID";
column.AutoIncrement = false;
column.Caption = "Review ID";
column.ReadOnly = false;
column.Unique = false;
dt.Columns.Add(column);
........................
foreach (var ID in rows_ID)
{
row = dt.NewRow();
row["Review ID"] = ID;
............
dt.Rows.Add(row);
}
ExcelEngine excelEngine = new ExcelEngine();
IApplication application = excelEngine.Excel;
application.DefaultVersion = ExcelVersion.Xlsx;
IWorkbook requested_report = application.Workbooks.Create();
//Creating a Sheet
IWorksheet sheet = requested_report.Worksheets.Create("Requested Details");
sheet.ImportDataTable(dt, true, 1, 1);
sheet.UsedRange.WrapText = true;
По какой-то причине для каждого двузначного идентификационного номера две цифры разделяются на две разные строки, например, для идентификационного номера 10 «1» появляется в одной строке под столбцом идентификаторов, а 0появляется в ряду под ним. Я не уверен, почему именно эта строка разбивается. Это единственный код, который у меня есть, который влияет на этот столбец идентификатора.