при выводе данных в Excel из программы необходимо убрать первый столбец "Код поставщика"
Созданы два метода: ExporttoExcel и метод запроса на Export. Первый метод формирует расположение элементов таблицы с помощью списка, нужно исправить только код данного метода. При выводе в Excel данных из таблицы появляется так же первый атрибут "Код поставщика", его необходимо убрать, чтобы отчет был полностью корректен. Код на языке C#:
private void ExporttoExcel(DataTable dt, Excel.Worksheet sheet)
{
int _excelHeader = 1;
for (int i = 0; i < dt.Rows.Count; i++)
{
_excelHeader = 1;
for (int j = 1; j < dt.Columns.Count; j++)
{
sheet.Cells[i + 2, _excelHeader] = dt.Rows[i][j];
_excelHeader++;
}
}
_excelHeader = 1;
foreach (DataColumn column in dt.Columns)
{
sheet.Cells[1, _excelHeader] = column.ColumnName;
_excelHeader++;
}
sheet.Columns.ColumnWidth = 30;
sheet.Columns.HorizontalAlignment = Excel.XlHAlign.xlHAlignLeft;
}
Ответы (1 шт):
Автор решения: kurakinvit
→ Ссылка
Не очень понимаю, зачем в цикле по столбцам используется переменная _excelHeader, но попробуйте так:
private void ExporttoExcel(DataTable dt, Excel.Worksheet sheet)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
for (int j = 0; j < dt.Columns.Count; j++)
{
if (dt.Columns[j].ColumnName == "Код поставщика")
continue;
sheet.Cells[i + 2, j + 1] = dt.Rows[i][j];
}
}
int _excelHeader = 1;
foreach (DataColumn column in dt.Columns)
{
if (column.ColumnName == "Код поставщика")
continue;
sheet.Cells[1, _excelHeader] = column.ColumnName;
_excelHeader++;
}
sheet.Columns.ColumnWidth = 30;
sheet.Columns.HorizontalAlignment = Excel.XlHAlign.xlHAlignLeft;
}