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

 我来答
雪夜月同孤
2011-05-12 · TA获得超过281个赞
知道小有建树答主
回答量:124
采纳率:0%
帮助的人:167万
展开全部
给你一段代码,里面的查询语句等等一些东西需要换成你自己的。

/// <summary>
/// 输出数据库内容
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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); }
}
}
恋影凤蝶
2011-05-12
知道答主
回答量:4
采纳率:0%
帮助的人:0
展开全部
需要导入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);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lys442946831
2012-02-23
知道答主
回答量:48
采纳率:0%
帮助的人:45.8万
展开全部
啊 给个满意
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
色表哥
2011-05-12 · TA获得超过190个赞
知道答主
回答量:133
采纳率:100%
帮助的人:21.7万
展开全部
- - 文件流哈
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式