C#把文件导出为Excel格式

ypsheng01 2008-05-18 09:24:49
我用程序做分析得到一个listview,现在想把它导出为xls格式,导出表格的第一行为 年龄、 性别 、级别三列,下面的行为对应的值。
请教如何办?
...全文
112 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ypsheng01 2008-05-19
  • 打赏
  • 举报
回复
非常感谢两位的帮助!!!
zzpro520 2008-05-18
  • 打赏
  • 举报
回复

你要考虑导出execl是的效率的话!

你可以用一个 object[] data =new object[rows,columns];
for(int i;i<listview.rows.count;i++)
{
for(int j;j<listview.columns.count;j++)
{
data[i,j] = listview.Rows[i].Cells[j].Value.ToString();
}
}

execl.value2 = data;


这样 在导出的时候会块很多的.

话不多说.你去试试
geniushz 2008-05-18
  • 打赏
  • 举报
回复
先要添加Excel的引用,在添加引用里面添加Excel.exe文件
在界面上放个Savedialog控件,下面是代码,根据你的具体情况来改下,listview里面要有数据
if (diaSaveFile.ShowDialog() == DialogResult.OK)
{
Excel.Application myExcel = new Excel.Application();
Excel.Workbooks workbooks = myExcel.Workbooks;
Excel.Workbook workbook = workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);
Excel.Worksheet worksheet = (Excel.Worksheet)workbook.Worksheets[1];//取得sheet1

// 写字段名
for (int i = 0; i < listview.Columns.Count; i++)
{
worksheet.Cells[1, i + 1] = listview.Columns[i].HeaderText.ToString();
}

// 写记录
for (int i = 0; i < listview.Rows.Count; i++)
{
for (int j = 0; j < listview.Columns.Count; j++)
{
worksheet.Cells[i + 2, j + 1] = listview.Rows[i].Cells[j].Value.ToString(); ;
}
}

worksheet.Columns.EntireColumn.AutoFit();//自动适应每列的宽度
Excel.Range rg = worksheet.get_Range(worksheet.Cells[1, 1], worksheet.Cells[1, listview.Columns.Count]);
rg.Font.Bold = true;
workbook.Saved = true;
workbook.SaveCopyAs(@diaSaveFile.FileName);

// 关掉内存中的进程
myExcel.Quit();
this.Visible = true;
MessageBox.Show("文件导出成功!", "提示");

110,566

社区成员

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

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

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