[英]C# export mysql database to excel file
嗨,我创建了一个pos软件,但是我需要一个功能来将数据导出到excel,所以我创建了一个要导出的类,当我尝试导出文件时出现错误,所以这是我工作的一些代码。
public void PrefrlivoExcel()
{
MySqlConnection connection = Connection.prevzemiKonekcija();
MySqlDataAdapter adapter = new MySqlDataAdapter();
string sqlSelectAll = "SELECT * from prodavnica.artikli";
adapter.SelectCommand = new MySqlCommand(sqlSelectAll, connection);
adapter.Fill(tabela);
tabelaSmetka(tabela);
}
void tabelaSmetka(DataTable tabela)
{
object missValue = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application();
app.Visible = false;
Microsoft.Office.Interop.Excel.Workbook wb = app.Workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
Microsoft.Office.Interop.Excel.Worksheet ws = (Microsoft.Office.Interop.Excel.Worksheet)wb.ActiveSheet;
for (int i = 0; i < tabela.Columns.Count; i++)
{
ws.Cells[1, i + 1] = tabela.Columns[i].ColumnName;
}
for (int i = 0; i < tabela.Rows.Count; i++)
{
for (int j = 0; j < tabela.Columns.Count; j++)
{
ws.Cells[i + 2, j + 1] = tabela.Rows[i][j].ToString();
}
}
ws.Name = tabela.TableName;
wb.SaveAs(@"D:\artikli.xlsx", Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal, missValue, missValue, missValue, missValue, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, missValue, missValue, missValue, missValue);
wb.Close(true, missValue, missValue);
MessageBox.Show("Податоците беа успешно префрлени во Excel !");
}
错误如下:
System.ArgumentNullException:'值不能为null。 参数名称:dataTable'
适配器为空。
看来您尚未初始化DataTable
变量。 在这种情况下, tablea
。 初始化DataTable
然后再将其传递到DataAdapter
。
DataTable tablea = new DataTable();
DataTable dt = null;
SqlConnection con = new
SqlConnection(@"server=sampleserver;database=Fiddle;uid=sa;pwd=sa");
SqlDataAdapter adapter = new SqlDataAdapter();
string sql = "select * from employee";
adapter.SelectCommand = new SqlCommand(sql, con);
adapter.Fill(dt);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.