src/YL.Utils/Excel/NpoiUtil.cs

(开头部分) 19KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using NPOI.HPSF;
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Reflection;
using YL.Utils.Extensions;
using YL.Utils.Pub;

namespace YL.Utils.Excel
{
    /// <summary>
    /// NPOI linux 报错
    /// https://www.cnblogs.com/Robbery/p/10115234.html
    /// sudo ln -s /lib/x86_64-linux-gnu/libdl.so.2 /lib/x86_64-linux-gnu/libdl.so
    /// sudo apt install libgdiplus
    /// sudo ln -s /usr/lib/libgdiplus.so /usr/lib/gdiplus.dll
    /// </summary>
    public class NpoiUtil
    {
        private static readonly int Max = 65530; //
        public static string[] excel = { ".xlsx", ".xls" };

        #region NPOI excel Export

        /// <summary>
        /// return File(buffer, "application/ms-excel", "list.xlsx");
        /// </summary>
        /// <param name="dt"></param>
        /// <param name="version"></param>
        /// <returns></returns>
        public static byte[] Export(DataTable dt, ExcelVersion version = ExcelVersion.V2007)
        {
            IWorkbook workbook;
            ICellStyle cellStyle;
            IFont font;
            switch (version)
            {
                case ExcelVersion.V2007:
                    workbook = new XSSFWorkbook();
                    cellStyle = (XSSFCellStyle)workbook.CreateCellStyle();
                    font = (XSSFFont)workbook.CreateFont();
                    font.FontName = "宋体";
                    cellStyle.SetFont(font);
                    break;

                case ExcelVersion.V2003:
                    workbook = new HSSFWorkbook();
                    cellStyle = (HSSFCellStyle)workbook.CreateCellStyle();
                    font = (HSSFFont)workbook.CreateFont();
                    font.FontName = "宋体";
                    cellStyle.SetFont(font);
                    break;

                default:
                    workbook = new XSSFWorkbook();
后面还有 488 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。