DataGrideview导出到excel

Boring_life 2012-12-05 01:02:39
网上找了一下,很多这样的代码

public void ToExcel(DataGridView gv, bool isShow)
{
//判断数据源控件 数据行是否为空
if (gv.RowCount > 1)
{
//进行Excel程序的运行
Excel.Application excel = new Excel.Application();
// 新建一张excel工作簿
excel.Application.Workbooks.Add(true);
// excel程序是否显示
excel.Visible = isShow;

//生成excel标题
for (int i = 0; i < gv.ColumnCount; i++)
{
if (gv.Columns[i].Visible == true && (gv.Columns[i] is DataGridViewTextBoxColumn))
{
//根据数据源控件的列数,生成相应的excel列数,
// excel的列标题与数据源列标题相同
//excel的第一行
excel.Cells[1, i + 1] = gv.Columns[i].HeaderText;
//设定单元格的宽度
excel.Cells.ColumnWidth = 20;
}
}

//填充数据
for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
{
for (int j = 0; j < dataGridView1.Columns.Count; j++)
{
if (dataGridView1[j, i].ValueType == typeof(string))
{
excel.Cells[i + 2, j + 1] = "" + dataGridView1[j, i].Value.ToString();
}
else
{
excel.Cells[i + 2, j + 1] = dataGridView1[j, i].Value.ToString();
}
}
}
}
}


这段代码根本不行啊 写入数据的时候,前面创建excel 表,把datagrideview的headerText 也可以写入excel表中,就是数据不显示,报错

excel.Cells[i + 2, j + 1] = dataGridView1[j, i].Value.ToString();
未将对象引用设置到对象的实例。
...全文
240 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
gzm998128gzm 2012-12-05
  • 打赏
  • 举报
回复
我这有个导出的,他是把一个datagridview绑定的数据源datatable导出Excel的,这也是我们刚做的项目中的呵呵!!!!
XBodhi. 2012-12-05
  • 打赏
  • 举报
回复
sheet 那,没有 sheet不行的 1.ExcelApplication 2.Sheet 才是村数据的地方。
聖傑 2012-12-05
  • 打赏
  • 举报
回复
或者重新搜个代码试试
聖傑 2012-12-05
  • 打赏
  • 举报
回复
for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) { for (int j = 0; j < dataGridView1.Columns.Count-1; j++) { if (dataGridView1[j, i].ValueType == typeof(string)) { excel.Cells[i + 2, j + 1] = "" + dataGridView1[j, i].Value.ToString(); } else { excel.Cells[i + 2, j + 1] = dataGridView1[j, i].Value.ToString(); } } } } }

111,095

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧