用C#快速往Excel写数据

王朝c#·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

本示例是用于将ListView中的内容倒入到Excel,与常用的逐单元格写不同的是,本例子采用数据写入到range的方法。该方法效率明显较高。

Excel.Application app = new Excel.ApplicationClass();

if( app == null)

{

MessageBox.Show("Excel无法启动");

return;

}

app.Visible = true;

Excel.Workbooks wbs = app.Workbooks;

Excel.Workbook wb = wbs.Add(Missing.Value);

Excel.Worksheet ws = (Excel.Worksheet)wb.Worksheets[1];

Excel.Range r = ws.get_Range("A1","H1");

object [] objHeader = {"标题1","标题2","标题3",

"标题4","标题5","标题6",

"标题7","标题8"};

r.Value = objHeader;

if (lv.Items.Count >0)

{

r = ws.get_Range("A2",Missing.Value);

object [,] objData = new Object[this.lv.Items.Count,8];

foreach(ListViewItem lvi in lv.Items)

{

objData[lvi.Index,0] = lvi.Text;

objData[lvi.Index,1] = lvi.SubItems[1].Text;

objData[lvi.Index,2] = lvi.SubItems[2].Text;

objData[lvi.Index,3] = lvi.SubItems[3].Text;

objData[lvi.Index,4] = lvi.SubItems[4].Text;

objData[lvi.Index,5] = lvi.SubItems[5].Text;

objData[lvi.Index,6] = lvi.SubItems[6].Text;

objData[lvi.Index,7] = lvi.SubItems[7].Text;

}

r = r.get_Resize(lv.Items.Count,8);

r.Value = objData;

r.EntireColumn.AutoFit();

}

app = null;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航