QSMP.Utility/Files/NPOIHelper.cs

(开头部分) 59KB

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

using NPOI.HPSF;
using NPOI.HSSF.UserModel;
using NPOI.SS.Formula.Eval;
using NPOI.SS.UserModel;
using NPOI.SS.Util;
using NPOI.XSSF.UserModel;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Web;
namespace QSMP.Utility.Files
{
    public class NPOIHelper
    {
        #region 从datatable中将数据导出到excel  
        /// <summary>  
        /// DataTable导出到Excel的MemoryStream  
        /// </summary>  
        /// <param name="dtSource">源DataTable</param>  
        /// <param name="strHeaderText">表头文本</param>  
        static MemoryStream ExportDT(DataTable dtSource, string strHeaderText)
        {
            HSSFWorkbook workbook = new HSSFWorkbook();
            HSSFSheet sheet = workbook.CreateSheet() as HSSFSheet;

            #region 右击文件 属性信息  

            //{  
            //    DocumentSummaryInformation dsi = PropertySetFactory.CreateDocumentSummaryInformation();  
            //    dsi.Company = "http://www.yongfa365.com/";  
            //    workbook.DocumentSummaryInformation = dsi;  

            //    SummaryInformation si = PropertySetFactory.CreateSummaryInformation();  
            //    si.Author = "柳永法"; //填加xls文件作者信息  
            //    si.ApplicationName = "NPOI测试程序"; //填加xls文件创建程序信息  
            //    si.LastAuthor = "柳永法2"; //填加xls文件最后保存者信息  
            //    si.Comments = "说明信息"; //填加xls文件作者信息  
            //    si.Title = "NPOI测试"; //填加xls文件标题信息  
            //    si.Subject = "NPOI测试Demo"; //填加文件主题信息  
            //    si.CreateDateTime = DateTime.Now;  
            //    workbook.SummaryInformation = si;  
            //}  

            #endregion

            HSSFCellStyle dateStyle = workbook.CreateCellStyle() as HSSFCellStyle;
            HSSFDataFormat format = workbook.CreateDataFormat() as HSSFDataFormat;
            dateStyle.DataFormat = format.GetFormat("yyyy-mm-dd");

            //取得列宽  
            int[] arrColWidth = new int[dtSource.Columns.Count];
            foreach (DataColumn item in dtSource.Columns)
            {
                arrColWidth[item.Ordinal] = Encoding.GetEncoding(936).GetBytes(item.ColumnName.ToString()).Length;
后面还有 1405 行代码,解锁后查看完整代码

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

AI 解读

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

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