DataTableをExcelスプレッドシートにエクスポートする方法を示すコードが必要です。DataTableをExcelにエクスポートしますか?
string data = null;
int i = 0;
int j = 0;
string sFileName=null;
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;
xlApp = new Excel.ApplicationClass();
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
for (i = 0; i <= dt.Rows.Count - 1; i++)
{
for (j = 0; j <= dt.Columns.Count - 1; j++)
{
data = dt.Rows[i].ItemArray[j].ToString();
xlWorkSheet.Cells[i + 1, j + 1] = data;
}
}
SaveFileDialog oDialog = new SaveFileDialog();
oDialog.Filter = "Excel files | *.xls";
if (oDialog.ShowDialog() == DialogResult.OK)
{
sFileName = oDialog.FileName;
}
if (sFileName != null)
{
xlWorkBook.SaveAs(sFileName, Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();
MessageBox.Show("Report saved with file: " + sFileName, "To Excel", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
//oEXLApp.ActiveWorkbook.Close(false, Missing.Value, Missing.Value);
MessageBox.Show("Cannot export to excel...", "Can't export", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
releaseObject(xlWorkSheet);
releaseObject(xlWorkBook);
releaseObject(xlApp);
このコードでは、データテーブルをExcelにエクスポートできますが、問題は列名を取得できないことです。 値よりもdt(DataTable)の列名が表示されます。
ここで私はこのコードを追加します –
セルを[hereOrThere]に置き換え、テーブル値を追加する前に列を配置したいコードを配置します(for (i = 0; i≦dt.Rows.Count-1; i ++) { ) – nWorx