zoukankan      html  css  js  c++  java
  • NPOI将数据导出到Excel中

    将数据导出到Excel中,相信这样的需求大家都见的不少吧,今天为大家分享下我是如何将数据导出到Excel的

    我用到了NPOI.dll插件,该插件可以从网上搜取

    View Code
     1  private void btnToExcel_Click(object sender, RoutedEventArgs e)
     2         {
     3             //数据源
     4             List<Phone>listPhone=(List<Phone>)dgTest.ItemsSource;
     5             //获取用户选择保存的路径文件名
     6             string saveFileName=OpenFileDialog();
     7             if (!string.IsNullOrEmpty(saveFileName))
     8             {
     9                 //创建一个操作的对象
    10                 HSSFWorkbook workBook = new HSSFWorkbook();
    11                 //创建一个工作区
    12                 ISheet sheet = workBook.CreateSheet("通信");
    13                 //创建一行 并设置该行的值 作为标题
    14                 IRow rowHead = sheet.CreateRow(0);
    15                 rowHead.CreateCell(0,CellType.STRING).SetCellValue("地区");
    16                 rowHead.CreateCell(1, CellType.STRING).SetCellValue("类型");
    17                 rowHead.CreateCell(2, CellType.STRING).SetCellValue("区号");
    18                 rowHead.CreateCell(3, CellType.STRING).SetCellValue("日期");
    19                 int i = 0;
    20                 //循环读取数据存入sheet工作表中
    21                 foreach (var item in listPhone)
    22                 {
    23                     IRow row = sheet.CreateRow(++i);
    24                     row.CreateCell(0,CellType.STRING).SetCellValue(item.AreaName);
    25                     row.CreateCell(1, CellType.STRING).SetCellValue(item.NumbType);
    26                     row.CreateCell(2, CellType.STRING).SetCellValue(item.AreaNumb);
    27                     ICellStyle styledate = workBook.CreateCellStyle();
    28                     IDataFormat format = workBook.CreateDataFormat();
    29                     //格式具体有哪些请看单元格右键中的格式,有说明
    30                     styledate.DataFormat = format.GetFormat("yyyy\"年\"m\"月\"d\"日\"");
    31                    ICell cellDate=row.CreateCell(3, CellType.NUMERIC);
    32                     cellDate.SetCellValue(DateTime.Now.ToShortDateString());
    33                     cellDate.CellStyle = styledate;
    34 
    35                 }
    36                 using (Stream stream = File.OpenWrite(saveFileName))
    37                 {
    38                     workBook.Write(stream);
    39                     MessageBox.Show("保存成功");
    40                 }
    41             }
    42         }
    43         private string OpenFileDialog()
    44         {
    45             SaveFileDialog sfd = new SaveFileDialog();
    46             sfd.Filter = "Excel(*.xls, *.xlsx)|*.xls;*.xlsx";
    47             if (sfd.ShowDialog() == true)
    48             {
    49                 return sfd.FileName;
    50             }
    51             else
    52             {
    53                 return null;
    54             }
    55         }


    怎么样,比较简单而且比较容易控制吧

  • 相关阅读:
    json&pickle模块
    Linux BASH 常用命令
    Vmware安装Kali2020
    CentOS7部署Prometheus
    CentOS7部署FreeRadius3.0及WEB管理界面DaloRadius
    Cisco VRRP、TRACK、SLA配置
    Cisco L2TP OVER IPSEC
    Cisco PPTP Server Configration
    华为S5700交换机初始化和配置TELNET远程登录
    华为S5720常用命令
  • 原文地址:https://www.cnblogs.com/xiexingen/p/2867826.html
Copyright © 2011-2022 走看看