private void button1_Click(object sender, EventArgs e)
{
int y = 0;
if (dataGridView1.Rows.Count == 0)
{
MessageBox.Show("无数据,不能进行调用。请检查相关数据在重试", "打印");
}
//建立Excel对象
Excel.Application excel = new Excel.Application();
excel.Application.Workbooks.Add(true); //生成字段名称
for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
excel.Cells[1, i + 1] = dataGridView1.Columns[i].HeaderText;
if (y == 0)
{
y = 1;
toolStripStatusLabel6.Text = "数据导入中,请等待!";
}
}
//填充数据
for (int i = 0; i < dataGridView1.RowCount - 1; i++)
{
for (int j = 0; j < dataGridView1.ColumnCount; j++)
{
if (dataGridView1[j, i].Value == typeof(string))
{
excel.Cells[i + 2, j + 1] = "" + dataGridView1[i, j].Value.ToString();
}
else
{
excel.Cells[i + 2, j + 1] = dataGridView1[j, i].Value.ToString();
}
}
}
toolStripStatusLabel6.Text = "导入数据完成,请查看.";
if (y == 1)
{
excel.Visible = true;
} }
这是在网上找的一段C#从数据库sql数据库把数据导到Excel里的代码 用的dataGridView导入的 我没太看明白 .而且把代码粘贴到 我的.cs文件里 告诉我缺少using指令集 我也不知道具体是那个 请高手们多多帮忙 谢谢
{
int y = 0;
if (dataGridView1.Rows.Count == 0)
{
MessageBox.Show("无数据,不能进行调用。请检查相关数据在重试", "打印");
}
//建立Excel对象
Excel.Application excel = new Excel.Application();
excel.Application.Workbooks.Add(true); //生成字段名称
for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
excel.Cells[1, i + 1] = dataGridView1.Columns[i].HeaderText;
if (y == 0)
{
y = 1;
toolStripStatusLabel6.Text = "数据导入中,请等待!";
}
}
//填充数据
for (int i = 0; i < dataGridView1.RowCount - 1; i++)
{
for (int j = 0; j < dataGridView1.ColumnCount; j++)
{
if (dataGridView1[j, i].Value == typeof(string))
{
excel.Cells[i + 2, j + 1] = "" + dataGridView1[i, j].Value.ToString();
}
else
{
excel.Cells[i + 2, j + 1] = dataGridView1[j, i].Value.ToString();
}
}
}
toolStripStatusLabel6.Text = "导入数据完成,请查看.";
if (y == 1)
{
excel.Visible = true;
} }
这是在网上找的一段C#从数据库sql数据库把数据导到Excel里的代码 用的dataGridView导入的 我没太看明白 .而且把代码粘贴到 我的.cs文件里 告诉我缺少using指令集 我也不知道具体是那个 请高手们多多帮忙 谢谢
解决方案 »
- 菜鸟求助,各位高手帮忙解答下,谢谢了!!!
- 用什么控件好
- 如何比较两个DataSet的值,然后把不同的值放到另一个DataSet中
- 请问如何在dataview中套用textbox
- socket
- 高分求Longhorn 4074 SDK?
- 在vs2010中,调试程序时,老是会提示一个js错误,是中断,继续,还是忽略 的窗口。如何
- <asp:ImageButton 事件怎么不响应
- 问一下如何用VS.NET 2003开发Office2003?
- 关于在ASP.NET中实现POST发送数据的问题,我用的是孟子e章的原码
- TreeView中CheckBox的取值
- 关于C#编写的收取pop3邮件的form程序
建议你用这种,自己觉得这种好。。跟Table一样。。
string strConnectToExcel = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = '"
+ pstrFilePath + "';Extended Properties='Excel 8.0;HDR=YES'";
//创建对象
OleDbConnection oleConnect = new OleDbConnection(strConnectToExcel);
//打开对象
oleConnect.Open();
然后在窗体代码页头加上using Microsoft.Office.Interop.Excel;
因为可以充分利用Excel的格式信息,我以前的做法是用xls的文件做好格式,使用Excel命名定位数据,然后程序直接往命名的位置填充数据,可以生成很漂亮的报表,不过速度有点慢。如果Excel仅仅是存数据表,推荐用楼上的做法,把xls文件当数据库即可,连上之后在Jet中用ODBC直接连SQLServer,一个SQL语句就把数据弄过来了,速度很快,就是Excel打开很难看