c#.net winform 中dataGridView数据如何导出到excel中,急等。。。。。

2024-11-09 04:59:33
推荐回答(4个)
回答1:

给你一段代码,里面的查询语句等等一些东西需要换成你自己的。

///


/// 输出数据库内容
///

///
///
private void button28_Click(object sender, EventArgs e)
{
if (ckd == 1)
{
SaveFileDialog Save = new SaveFileDialog();
Save.Filter = "EXCEL文件(*.xls)|*.xls|所有文件(*.*)|*.*";
if (Save.ShowDialog() == DialogResult.OK)
{

string filename = Save.FileName;
if (System.IO.File.Exists(filename))
{
System.IO.File.Delete(filename);//如果文件存在删除文件。
}
int index = filename.LastIndexOf("\\");//获取最后一个\的索引
filename = filename.Substring(index + 1);//获取excel名称(新建表的路径相对于SaveFileDialog的路径)
//select * into 建立 新的表。
//[[Excel 8.0;database= excel名].[sheet名] 如果是新建sheet表不能加$,如果向sheet里插入数据要加$. 
//sheet最多存储65535条数据。
string sql = "select top 65535 * into [Excel 8.0;database=" + filename + "].[Sheet1] from MyCNB";
//conExcel.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + Application.StartupPath + "\\Appdata.mdb";//将数据库放到debug目录下。
OleDbCommand com = new OleDbCommand(sql, DBA.con);
DBA.con.Open();
com.ExecuteNonQuery();
DBA.con.Close();
MessageBox.Show("已经成功导出为EXCEL文件!");

}
}
if(ckd==0)
{
saveFileDialog1.Filter = " 文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
string filename = saveFileDialog1.FileName;
filename = filename.Remove (filename.LastIndexOf('.'));
/* if (System.IO.File.Exists(filename))
{
System.IO.File.Delete(filename);//如果文件存在删除文件。
}
int index = filename.LastIndexOf("\\");//获取最后一个\的索引
filename = filename.Substring(index + 1);//获取excel名称(新建表的路径相对于SaveFileDialog的路径)
//select * into 建立 新的表。
//[[Excel 8.0;database= excel名].[sheet名] 如果是新建sheet表不能加$,如果向sheet里插入数据要加$. 
//sheet最多存储65535条数据。
string sql = "select * into " + filename + " from MyCNB";
//conExcel.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + Application.StartupPath + "\\Appdata.mdb";//将数据库放到debug目录下。
OleDbCommand com = new OleDbCommand(sql, DBA.con);
DBA.con.Open();
com.ExecuteNonQuery();
DBA.con.Close();
*/
ExportToTxt(DataBaseAccess.ReadAndShowDS,filename); }
}
}

回答2:

需要导入Interop.Microsoft.Office.Interop.Excel

//判断文件是否存在
FileInfo fi = new FileInfo(@"d:\StudentManagement\TwoTest.xls");
if (fi.Exists)
{
fi.Delete();
}
//需要引用 com里的Microsoft Excel 11.0 Object Library
//创建Excle 对象

Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.ApplicationClass();
//引用Excel工作簿
Microsoft.Office.Interop.Excel.Workbook myBook = excel.Application.Workbooks.Add(true);
//指定要操作的Sheet
Microsoft.Office.Interop.Excel.Worksheet mySheet = (Microsoft.Office.Interop.Excel.Worksheet)myBook.Sheets[1];
excel.Visible = true;

//添加列名
for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
{
mySheet.Cells[1, j + 1] = ds.Tables[0].Columns[j].ColumnName;
}

//写入数据
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
{
mySheet.Cells[i + 2, j + 1] = ds.Tables[0].Rows[i][j].ToString();
}
}

myBook.SaveAs(@"d:\StudentManagement\TwoTest.xls",
Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value);

回答3:

啊 给个满意

回答4:

- - 文件流哈