我有一个以编程方式创建的数据表(没有使用连接等),在我的数据表中我有2列。我只想将第二列的值导出到excel。对于我下面的代码,它从excel中的两列导出数据。如何编写仅导出特定列?
private void button2_Click(object sender, EventArgs e)
{
using (ExcelPackage pck = new ExcelPackage())
{
string filepath = "C:\\Trial.xlsx";
ExcelWorksheet ws = pck.Workbook.Worksheets.Add("test");
ws.Cells["A1"].LoadFromDataTable(dt1, false);
pck.SaveAs(new FileInfo(filepath));
}
this.Close();
}
将DataTable
复制到临时表并删除列,您不需要然后导出到excel。
例:
DataTable tempDataTable;
tempDataTable = table.Copy();
tempDataTable.Columns.Remove("NameOfColumnYouDontWant");
在你的代码中:
private void button2_Click(object sender, EventArgs e)
{
using (ExcelPackage pck = new ExcelPackage())
{
string filepath = "C:\\Trial.xlsx";
ExcelWorksheet ws = pck.Workbook.Worksheets.Add("test");
DataTable tempDataTable;
tempDataTable = dt1.Copy();
tempDataTable.Columns.Remove("NameOfColumnYouDontWant");
# Remove all columns you don't need
ws.Cells["A1"].LoadFromDataTable(tempDataTable, false);
pck.SaveAs(new FileInfo(filepath));
}
this.Close();
}