`
西门小贤
  • 浏览: 10007 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

C#中ListView数据导出excel表

阅读更多
from C#.net2.0--CDRapp--appMain.cs


        private void cdrToExcel()
        {
            SaveFileDialog dialog = new SaveFileDialog();
            dialog.Filter = "Excel(*.xls)|*.xls";
            dialog.FileName = "CDR.xls";
            if (dialog.ShowDialog() == DialogResult.OK)
            {
                Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
                object missing = System.Reflection.Missing.Value;
                try
                {
                    if (xlApp == null)
                    {
                        MessageBox.Show("无法创建Excel对象,可能您的机子未安装Excel");
                        return;
                    }

                    Microsoft.Office.Interop.Excel.Workbooks xlBooks = xlApp.Workbooks;
                    Microsoft.Office.Interop.Excel.Workbook xlBook = xlBooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
                    Microsoft.Office.Interop.Excel.Worksheet xlSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlBook.Worksheets[1];
                    Microsoft.Office.Interop.Excel.Range range = null;
                    //抬头

                    range = xlSheet.get_Range("A1", "P1");
                    range.Merge(Missing.Value);         // 合并单元格
                    range.Columns.AutoFit();            // 设置列宽为自动适
应                  
                    // 设置单元格左边框加粗
                    range.Borders[XlBordersIndex.xlEdgeLeft].Weight = XlBorderWeight.xlThick;
                    // 设置单元格右边框加粗
                    range.Borders[XlBordersIndex.xlEdgeRight].Weight = XlBorderWeight.xlThick;
                    range.HorizontalAlignment = XlHAlign.xlHAlignCenter;// 设置单元格水平居中
                    range.Value2 = "CDR";
                    range.Font.Size = 18;                        // 设置字体大小
                    //range.Font.ColorIndex = 5;                  // 设置字体颜色                    
                    //range.Interior.ColorIndex = 6;  // 设置单元格背景色
                    //range.RowHeight = 25;           // 设置行高
                    //range.ColumnWidth = 20;         // 设置列宽

                    xlSheet.Cells[2, 1] = "Cdr_Id";
                    xlSheet.Cells[2, 2] = "Create_time";
                    xlSheet.Cells[2, 3] = "Setup_time";
                    xlSheet.Cells[2, 4] = "Alerting_time";
                    xlSheet.Cells[2, 5] = "Connect_timeconnect_time";
                    xlSheet.Cells[2, 6] = "During";
                    xlSheet.Cells[2, 7] = "Caller";
                    xlSheet.Cells[2, 8] = "Called";
                    xlSheet.Cells[2, 9] = "Caller_ip";
                    xlSheet.Cells[2, 10] = "Called_ip";
                    xlSheet.Cells[2, 11] = "Src_info";
                    xlSheet.Cells[2, 12] = "Dest_info";
                    xlSheet.Cells[2, 13] = "Release";
                    xlSheet.Cells[2, 14] = "Release_reason";
                    xlSheet.Cells[2, 15] = "Ring_time";
                    xlSheet.Cells[2, 16] = "Usernametype";



                    int rowIndex = 3;//这个用来标记数据从多少行开始

                    //设置单元格
                    for (int i = 1; i <= lvCDR.Columns.Count; i++)
                    {
                        range = xlSheet.get_Range(xlSheet.Cells[3, i], xlSheet.Cells[rowIndex + this.lvCDR.Items.Count, i]);
                        range.HorizontalAlignment = XlHAlign.xlHAlignLeft;// 设置单元格水平居左
                        range.NumberFormatLocal = "@";//文本格式
                        range.ColumnWidth = 12;
                    }

                    //标题栏
                    range = xlSheet.get_Range(xlSheet.Cells[2, 1], xlSheet.Cells[2, 16]);
                    range.Interior.ColorIndex = 45;//设置标题背景色为 浅橙色
                    range.Font.Bold = true;//标题字体加粗

                    int isOut = 0;
                    pbProglass.Visible = true;
                    foreach (ListViewItem objItem in this.lvCDR.Items)
                    {
                        for (int i = 0; i < lvCDR.Columns.Count ; i++)
                        {
                            xlSheet.Cells[rowIndex, i + 1] = objItem.SubItems[i].Text;
                        }

                        rowIndex += 1;
                        isOut++;
                        if (isOut > pbProglass.Maximum)
                        {
                            isOut = 0;
                        }
                        pbProglass.Value = isOut;
                    }
                    pbProglass.Visible = false;

                    //数据区域
                    range = xlSheet.get_Range(xlSheet.Cells[2, 1], xlSheet.Cells[rowIndex, 16]);
                    range.Borders.LineStyle = 1;
                    range.Font.Size = 10;



                    range = xlSheet.get_Range(xlSheet.Cells[rowIndex, 1], xlSheet.Cells[rowIndex, 16]);
                    range.Merge(Missing.Value);        
                    // 合并单元格
                    // range.Borders[XlBordersIndex.xlEdgeLeft].Weight = XlBorderWeight.xlThick;
                    // 设置单元格右边框加粗
                    // range.Borders[XlBordersIndex.xlEdgeRight].Weight = XlBorderWeight.xlThick;
                    range.RowHeight = 20;
                    //range.Value2 = " " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                    range.HorizontalAlignment = XlHAlign.xlHAlignRight;// 设置单元格水平居中




                    if (xlSheet != null)
                    {                       
                        xlSheet.SaveAs(dialog.FileName, missing, missing, missing, missing, missing, missing, missing, missing, missing);
                        xlApp.Visible = true;
                    }


                }
                catch (Exception)
                {
                    xlApp.Quit();
                    throw;
                }
            }
        } 
分享到:
评论

相关推荐

    C# 导入Excel文件到ListView和导出ListView到Excel文件

    本主题将详细探讨如何使用C#实现从Excel文件导入数据到ListView控件,以及如何将ListView中的数据导出回Excel文件。这两个操作在数据分析、报表生成和数据管理等场景中非常常见。 首先,要导入Excel文件到ListView...

    在C#编程中将listview中的数据导出到excel表格中

    在C#编程中,将ListView中的数据导出到Excel表格是一项常见的需求,特别是在处理大量数据时,Excel提供了方便的数据查看和分析功能。以下是一个详细步骤的说明,介绍如何使用Microsoft Office Interop库来实现这个...

    c# listView数据导入到Excel中

    ### C# 中 ListView 数据导出至 Excel 的实现方法 #### 背景介绍 在日常工作中,经常需要将用户界面中的数据导出到 Excel 文件中,以便进行进一步的数据处理、分析或者分享。C# 提供了多种方式来实现这一功能,其中...

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

    代码如下: private void 导出数据_Click(object sender, EventArgs e) { ExportToExecl(); } ///  /// 执行导出数据 /// &lt;/summary&gt; public void ExportToExecl() { System.Windows.Forms.SaveFileDialog ...

    listview中的数据导出到excel中

    利用listView控件将数据导出到外部的excel文件中

    listview导出excel表动态库

    C# ,listview(视图格式为Details) 导出excel表动态库,入口参数(listview 控件名)

    excel txt导入 导出listview 代码 c#

    excel txt导入 导出到listview 代码 c#

    C#导出数据到Excel文件的方法

    在C#编程中,将数据导出到Excel文件是一项常见的任务,特别是在数据分析、报表生成或数据备份等场景中。本文将详细介绍如何使用C#来实现这个功能,主要涉及Microsoft.Office.Interop.Excel库,这是一个允许C#代码与...

    ListView中的数据转换到Excel中

    本篇文章将深入探讨如何将ListView中的数据转换为Excel文件,以满足用户导出和进一步处理的需求。 首先,我们需要了解ListView控件的基本操作。ListView控件通常包含多个列(Columns)和行(Items),每一行代表一...

    c# winform数据转excel

    根据提供的标题、描述、标签及部分代码内容,我们可以总结出以下关于如何在 C# WinForms 应用程序中将 ...通过以上步骤,你可以轻松地在 C# WinForms 应用程序中实现将 DataGridView 控件中的数据导出到 Excel 的功能。

    C# ListView导入Excel2007,2010以上版本(亲自测试通过)

    解决excel导出问题。针对office 2007 以上版本同样有效 microsoft excel 12.0 object library 环境下有问题,_microsoft excel 14.0 object library 测试通过 _microsoft excel 11.0 object library 同样支持 2003,...

    导出Excel.rar

    在标题和标签中提到的“C# 导出到Excel工具类”,指的是自定义的类库,用于处理数据到Excel的转换。这类工具类通常包含了各种方法,如`ExportToExcel()`,它们可以接收数据源(如DataTable或ListView),并将其转换...

    listview导出excel

    在C#编程环境中,将ListView中的数据导出至Excel是一种常见的数据处理操作,尤其是在需要进行数据分析或报告生成的场景下。下面将详细解析如何利用C#实现这一功能,包括代码逻辑、关键步骤以及可能遇到的问题。 ###...

    导出EXCEL的类库(C#)

    使用时。。。只需New出一个实例。。。传入参数即可。。 支持 DataGridView 和ListView

    在ASP.NET C#中导出到Excel

    在ASP.NET中,使用C#语言导出数据到Excel是一种常见的需求,特别是在处理大量数据展示和分析时。本文将深入探讨如何实现这个功能,主要针对Gridview控件的数据导出。 首先,我们要明白,Gridview是ASP.NET Web ...

    C#对Excel的读写操作

    系统中也实现了一个Export方法,来将统计结果从ListView导出到Excel文件。 Excel的读取方法网上有很多例子,写入方法不对。此代码可以参考参考。 对于Excel、word等office组件的操作,可以借鉴以前的VBA。 另外,...

    C#调用FastReport报表的方法(可不是企业版的FastReport)

    4. **数据绑定**:FastReport支持多种数据绑定方式,如数据集(DataSet)、数据表(DataTable)等。你需要根据实际需求将业务数据绑定到报表的各个字段。这通常通过`Report.SetDataSource`或`Band.DataColumn`属性...

Global site tag (gtag.js) - Google Analytics