C#2005 DateGridView 的数据用Elcel的格式导出的问题,跪求解决方法啊~

takumo 2009-03-10 01:03:04
C#2005 DateGridView中的数据用Elcel的格式导出,数据字段有:编号、姓名、品名、牙位 、数量、单位、单价 、金额、备注。牙位又那里有四个字段:如图

用窗体做的,功能有输入字段和导出Excel表。。。
不会如何设计导出的Excel表啊~请各位高手帮帮小弟。。。
...全文
134 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
q275077336 2009-03-10
  • 打赏
  • 举报
回复
r = worksheet.get_Range(worksheet.Cells[2, 1], worksheet.Cells[rowCount + 1, columnCount]);
你这个填充数据的时候,牙位那里也是以一行的形式出现的啊??我是想把牙位那里的四个字段设为 我上面的那种形式...这样也行的吗???
wmsdg 2009-03-10
  • 打赏
  • 举报
回复
调用这个方法即可
wmsdg 2009-03-10
  • 打赏
  • 举报
回复

public void DBtoExcel(DataGridView dgv)
{
int rowCount = dgv.RowCount;
int columnCount = dgv.ColumnCount;
if (radioButton2.Checked)
{
columnCount--;
}
//
Excel.Application exc = new Excel.Application();
if (exc == null)
{
throw new Exception("Excel无法启动");
}
//
exc.Visible = true;
//
Workbooks workbooks = (Workbooks)exc.Workbooks;
//
_Workbook workbook = workbooks.Add(XlWBATemplate.xlWBATWorksheet);
//
Sheets sheets = (Sheets)exc.Sheets;
_Worksheet worksheet = (_Worksheet)sheets[1];
if (worksheet == null)
{
throw new Exception("Worksheet error");
}
//
Range r = worksheet.get_Range("A1", System.Reflection.Missing.Value);
if (r == null)
{
MessageBox.Show("Range无法启动");
throw new Exception("Range error");
}

//以上是一些例行的初始化工作,下面进行具体的信息填充
//填充标题
int ColIndex = 1;
foreach (DataGridViewColumn dHeader in dgv.Columns)
{
if (radioButton1.Checked)
worksheet.Cells[1, ColIndex++] = dHeader.HeaderText;
else
{
if(dHeader.HeaderText!="日期")
worksheet.Cells[1, ColIndex++] = dHeader.HeaderText;
}
}
//获取DataGridView中的所有行和列的数值,填充到一个二维数组中.
object[,] myData = new object[rowCount + 1, columnCount];
for (int i = 0; i < rowCount; i++)
{
for (int j = 0; j < columnCount; j++)
{
myData[i, j] = dgv[j, i].Value; //这里的获取注意行列次序
}
}
//将填充好的二维数组填充到Excel对象中.
r = worksheet.get_Range(worksheet.Cells[2, 1], worksheet.Cells[rowCount + 1, columnCount]);
r.Value2 = myData;

}

111,126

社区成员

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

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

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