我正在使用ODP.NET的OracleDataAdapter填充数据表。我也希望传递列标题。知道如何去做吗?谢谢!
OracleDataAdapter oda = new OracleDataAdapter(oc);
oda.Fill(dt);
FileInfo outFile = new FileInfo(outputPath + "out.xlsx");
using (ExcelPackage pck = new ExcelPackage(outFile))
{
//Create the worksheet
ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Netstat");
for (int row = 1; row <= dt.Rows.Count; row++)
{
for (int column = 1; column <= dt.Columns.Count; column++)
{
ws.Cells[row, column].Value = dt.Rows[row - 1][column - 1];
}
}
pck.Save();
答案 0 :(得分:3)
不确定如何填写DataSet
,但如果您使用“标准方式”,即
string MyTableName = "customers";
MyAdapter.Fill(MyDataSet, MyTableName);
然后列名已经在DataSet
中,即MyDataSet.Tables [MyTableName].Columns[0].ColumnName
。
这是一个标准的ADO.NET功能,没有什么特别的ODP.NET - 请参阅http://msdn.microsoft.com/en-us/library/bh8kx08z%28v=VS.100%29.aspx和http://msdn.microsoft.com/en-us/library/system.data.datacolumn.columnname.aspx上的MSDN参考
编辑 - OP添加源代码后:
在您的代码中,您没有使用DataSet
,而是DataTable
,因此您可以dt.Columns[column].ColumnName
访问列名。