BN089-BS开发框架MVC4版/source20131023/Zephyr.Net/Zephyr.Utils/Document/Excel/NPOI/NPOIHelper.cs
(开头部分) 5KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Zephyr.Utils.NPOI.HSSF.UserModel;
using Zephyr.Utils.NPOI.HSSF.Util;
using Zephyr.Utils.NPOI.SS.UserModel;
using System.Collections;
namespace Zephyr.Utils.NPOI
{
public class NPOIHelper
{
public static Stream ListToExcel(object list, Dictionary<string, string> titles, bool IsExportAllCol)
{
const int startIndex = 0;
var fields = titles.Keys.ToList();
var workbook = new HSSFWorkbook();
var sheet = workbook.CreateSheet("sheet1");
sheet.DefaultRowHeight = 200 * 20;
var row = sheet.CreateRow(startIndex);
var headStyle = GetHeadStyle(workbook);
EachHelper.EachListHeader(list, (i, name, type) =>
{
if (!fields.Contains(name))
{
if (IsExportAllCol)
fields.Add(name);
else
return;
}
var cellIndex = fields.IndexOf(name) + startIndex;
var cell = row.CreateCell(cellIndex);
cell.SetCellValue(titles.ContainsKey(name)?titles[name]:name);
cell.CellStyle = headStyle;
sheet.AutoSizeColumn(cellIndex);
});
EachHelper.EachListRow(list, (rowIndex, dataRow) =>
{
row = sheet.CreateRow(rowIndex + 1);
EachHelper.EachObjectProperty(dataRow, (i, name, value) =>
{
if (!fields.Contains(name))
{
if (IsExportAllCol)
fields.Add(name);
else
return;
}
var cellIndex = fields.IndexOf(name) + startIndex;
var dataStyle = GetDataStyle(workbook);
var cell = row.CreateCell(cellIndex);
cell.CellStyle = dataStyle;
switch ((value??string.Empty).GetType().Name.ToLower())
{
case "int32":
case "int64":
case "decimal":
后面还有 73 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。
