当前位置:  编程技术>.net/c#/asp.net

C#中将ListView中数据导出到Excel的实例方法

    来源: 互联网  发布时间:2014-10-18

    本文导语:  添加方法:选择项目->引用->右击“添加引用”->选择COM 找到上面组件—>点击“确定”。实现代码如下: 代码如下:    private void 导出数据_Click(object sender, EventArgs e)      {          ExportToExecl();      }       ///     ...

添加方法:选择项目->引用->右击“添加引用”->选择COM 找到上面组件—>点击“确定”。
实现代码如下:

代码如下:

    private void 导出数据_Click(object sender, EventArgs e) 
    {     
    ExportToExecl(); 
    }  
    ///    
    /// 执行导出数据
    ///
    public void ExportToExecl()
    {     
    System.Windows.Forms.SaveFileDialog sfd = new SaveFileDialog();  
    sfd.DefaultExt = "xls";   
    sfd.Filter = "Excel文件(*.xls)|*.xls";     
    if (sfd.ShowDialog() == DialogResult.OK)  
    {          
    DoExport(this.lstPostion, sfd.FileName); 
    }   
    }   
    ///
    /// 具体导出的方法
    ///   
    /// ListView  
    /// 导出到的文件名  
    private void DoExport(ListView listView, string strFileName)   
    {      
    int rowNum = listView.Items.Count;  
    int columnNum = listView.Items[0].SubItems.Count;
    int rowIndex = 1;      
    int columnIndex = 0;      
    if (rowNum == 0 || string.IsNullOrEmpty(strFileName))  
    {           
    return;      
    }      
    if (rowNum > 0)   
    {         
    Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.ApplicationClass(); 
    if (xlApp == null)       
    {            
    MessageBox.Show("无法创建excel对象,可能您的系统没有安装excel"); 
    return;         
    }         
    xlApp.DefaultFilePath = "";   
    xlApp.DisplayAlerts = true;       
    xlApp.SheetsInNewWorkbook = 1;     
    Microsoft.Office.Interop.Excel.Workbook xlBook = xlApp.Workbooks.Add(true);  
    //将ListView的列名导入Excel表第一行           
    foreach (ColumnHeader dc in listView.Columns)  
    {            
    columnIndex++;     
    xlApp.Cells[rowIndex, columnIndex] = dc.Text;  
    }           
    //将ListView中的数据导入Excel中       
    for (int i = 0; i < rowNum; i++)     
    {             
    rowIndex++;     
    columnIndex = 0;   
    for (int j = 0; j < columnNum; j++)   
    {                   
    columnIndex++;             
    //注意这个在导出的时候加了“t” 的目的就是避免导出的数据显示为科学计数法。可以放在每行的首尾。    
    xlApp.Cells[rowIndex, columnIndex] = Convert.ToString(listView.Items[i].SubItems[j].Text) + "t";     
    }        
    }       
    //例外需要说明的是用strFileName,Excel.XlFileFormat.xlExcel9795保存方式时 当你的Excel版本不是95、97 而是2003、2007 时导出的时候会报一个错误:异常来自 HRESULT:0x800A03EC。 解决办法就是换成strFileName, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal。          
    xlBook.SaveAs(strFileName, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);  
    xlApp = null;          
    xlBook = null;       
    MessageBox.Show("OK");      
    }  
    }

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Android中将View的内容保存为图像的简单实例
  • 如何在jbuider 6中将swing 控件放在自己想要放的位置 在线等待
  • 怎样在程序中将普通用户切换成root用户
  • 如何在unix中将目录压缩成.zip的格式?(在线等)
  • mysql中将null值转换为0的语句
  • 如何在java中将任意字符转化为数字
  • inittab文件中将系统运行级别设置为0了,无法启动pc,怎么改回来?
  • 如何XP系统中将一般用户提升为管理员权限?(在线等!!)
  • JAVA中将汉字写到文本文件的问题
  • jsp中将后台传递过来的json格式的list数据绑定到下拉菜单select
  • 请问那位高手能帮我解决在jsp中将本地文件上传到数据库服务器的一个字段中的问题
  • sqlserver中将varchar类型转换为int型再进行排序的方法
  • awk中将字符串转化为时间戳的办法
  • 50分问个简单问题:LINUX下在system-config-network中将无线网卡的essid设置为自动,会有什么效果?
  • 在servlet中将<>转化成&lt&gt的函数是什么
  • php中将一段数据存到一个txt文件中并显示其内容
  • 在grub.conf中将默认启动设为Winxp,延迟时间为0,现在系统一开机就进了Winxp,怎么也回不到redhat了。
  • 请问可以在APPLET程序中将图象旋转90度显示吗?
  • java中将汉字转换成拼音的实现代码
  • 请教:在进程运行中将其转换成守护进程会怎么样?
  • 在passwd中将新用户的shell变量更改,再改回后发现该用户不能登录了.


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3