• NPOI使用


     1 namespace ExcelTest
     2 {
     3     class Program
     4     {
     5         static void Main(string[] args)
     6         {
     7             var userList = GetUsers();
     8             var stream = RenderExcel(userList);
     9             SaveToFile(stream, "./1.xls");
    10         }
    11 
    12         static void SaveToFile(MemoryStream ms, string fileName)
    13         {
    14             using (FileStream fs = new FileStream(fileName, FileMode.Create))
    15             {
    16                 byte[] data = ms.ToArray();
    17                 fs.Write(data, 0, data.Length);
    18                 fs.Flush();
    19             }
    20         }
    21 
    22         public static MemoryStream RenderExcel(List<User> userList)
    23         {
    24             MemoryStream ms = new MemoryStream();
    25 
    26             DataTable dt = new DataTable();
    27 
    28             var workBook = new HSSFWorkbook();
    29             var sheet = workBook.CreateSheet("Sheet1");
    30             var headerRow = sheet.CreateRow(0);
    31             var headerCell = headerRow.CreateCell(0);
    32             headerCell.SetCellValue("用户表");
    33 
    34             //headerCell样式
    35             ICellStyle style = workBook.CreateCellStyle();
    36             style.Alignment = HorizontalAlignment.Center;
    37             //
    38             var font = workBook.CreateFont();
    39             font.Boldweight = short.MaxValue;
    40             style.SetFont(font);
    41             headerCell.CellStyle = style;
    42             //
    43             headerRow.Height = 20 * 20;
    44             sheet.SetColumnWidth(0, 10 * 256);
    45 
    46             sheet.AddMergedRegion(new CellRangeAddress(0, 0, 0, 1));
    47 
    48             var captionRow = sheet.CreateRow(1);
    49             captionRow.CreateCell(0).SetCellValue("ID");
    50             captionRow.CreateCell(1).SetCellValue("名字");
    51 
    52             int rowIndex = 2;
    53             foreach (var user in userList)
    54             {
    55                 var dataRow = sheet.CreateRow(rowIndex);
    56 
    57                 dataRow.CreateCell(0).SetCellValue(user.Id);
    58                 dataRow.CreateCell(1).SetCellValue(user.Name);
    59 
    60                 rowIndex++;
    61             }
    62             workBook.Write(ms);
    63             ms.Flush();
    64             ms.Position = 0;
    65             return ms;
    66         }
    67 
    68         static List<User> GetUsers()
    69         {
    70             List<User> users = new List<User>
    71             {
    72                 new User {Id=1,Name="qwe" },
    73                 new User {Id=2,Name="wer" },
    74                 new User {Id=3,Name="rty" },
    75                 new User {Id=4,Name="tyu" },
    76                 new User {Id=5,Name="uio" },
    77             };
    78             return users;
    79         }
    80     }
    81 
    82     class User
    83     {
    84         public int Id { get; set; }
    85         public string Name { get; set; }
    86 
    87     }
    88 }
  • 相关阅读:
    烤盐屋——Beta冲刺日志(2/7)
    团队作业第六次--Beta阶段随笔集合
    OneDay!——冲刺日志集合
    Beta冲刺答辩
    OneDay!——随机组队“吐槽”
    OneDay!——Beta冲刺总结
    用户使用调查报告
    Beta冲刺日志--Day 7
    Beta冲刺日志--Day 6
    Beta冲刺日志--Day 5
  • 原文地址:https://www.cnblogs.com/naergaga/p/6140133.html
Copyright © 2020-2023  润新知