如何使用ODP.NET DataAdapter在C#中填充DataSet来获取列名?

时间:2011-09-05 21:07:40

标签: c# odp.net

我正在使用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();

1 个答案:

答案 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.aspxhttp://msdn.microsoft.com/en-us/library/system.data.datacolumn.columnname.aspx上的MSDN参考

编辑 - OP添加源代码后:

在您的代码中,您没有使用DataSet,而是DataTable,因此您可以dt.Columns[column].ColumnName访问列名。