old_flsystem/类库/Api.Framework/Tools/ExcelHelper.cs

784 lines
33 KiB
C#
Raw Normal View History

2022-09-20 03:10:29 +00:00
//using System;
//using System.Web.UI;
//using System.Collections.Generic;
//using System.Web.UI.WebControls;
//using System.Data;
//using System.IO;
//using System.Text;
//using System.Web;
//using NPOI;
//using NPOI.HPSF;
//using NPOI.HSSF;
//using NPOI.HSSF.UserModel;
//using NPOI.HSSF.Util;
//using NPOI.POIFS;
//using NPOI.Util;
//using System.Data.OleDb;
//using System.Threading;
//namespace Api.Framework.Tools
//{
// /// <summary>
// /// 功能说明此工具主要采用NOPI组件实现对Excel的获取数据、导出数据到Excel等功能。
// /// </summary>
// /// <remarks>
// /// 创建时间2012年12月12日0:17:22 创建人:张晓斌
// /// 备注信息:
// /// 注意事项采用NOPI进行操作Excel可以在服务器上不用安装Office的情况下进行而且性能比直接操作Office要高很多
// /// 修改时间:
// /// </remarks>
// public class ExcelHelper
// {
// #region ExportEasyNPOI简单Demo快速入门代码,以MemoryStream形式实现导出DataTable数据到Excel
// /// <summary>
// /// NPOI简单Demo快速入门代码
// /// </summary>
// /// <param name="dtSource"></param>
// /// <param name="strFileName"></param>
// /// <remarks>NPOI认为Excel的第一个单元格是(00)</remarks>
// public static void ExportEasy(DataTable dtSource, string strFileName)
// {
// HSSFWorkbook workbook = new HSSFWorkbook();
// HSSFSheet sheet = workbook.CreateSheet();
// //填充表头
// HSSFRow dataRow = sheet.CreateRow(0);
// foreach (DataColumn column in dtSource.Columns)
// {
// dataRow.CreateCell(column.Ordinal).SetCellValue(column.ColumnName);
// }
// //填充内容
// for (int i = 0; i < dtSource.Rows.Count; i++)
// {
// dataRow = sheet.CreateRow(i + 1);
// for (int j = 0; j < dtSource.Columns.Count; j++)
// {
// dataRow.CreateCell(j).SetCellValue(dtSource.Rows[i][j].ToString());
// }
// }
// //保存
// using (MemoryStream ms = new MemoryStream())
// {
// using (FileStream fs = new FileStream(strFileName, FileMode.Create, FileAccess.Write))
// {
// workbook.Write(ms);
// ms.Flush();
// ms.Position = 0;
// byte[] data = ms.ToArray();
// fs.Write(data, 0, data.Length);
// fs.Flush();
// }
// }
// sheet.Dispose();
// workbook.Dispose();
// }
// #endregion
// #region ExportByWeb:Web形式导出DataTable数据到Excel
// /// <summary>
// /// 用于Web导出
// /// </summary>
// /// <param name="dtSource"></param>
// /// <param name="strHeaderText"></param>
// /// <param name="strFileName"></param>
// public static void ExportByWeb(DataTable dtSource, string strHeaderText, string strFileName)
// {
// HttpContext curContext = HttpContext.Current;
// if (!strFileName.Contains(".xls") || !strFileName.Contains(".xlsx"))
// strFileName += ".xls";
// // 设置编码和附件格式
// curContext.Response.ContentType = "application/vnd.ms-excel";
// curContext.Response.ContentEncoding = Encoding.UTF8;
// curContext.Response.Charset = "";
// curContext.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(strFileName, Encoding.UTF8));
// curContext.Response.BinaryWrite(Export(dtSource, strHeaderText).GetBuffer());
// curContext.Response.End();
// }
// #endregion
// #region Export:DataTable导出到Excel的MemoryStream
// /// <summary>
// /// DataTable导出到Excel的MemoryStream
// /// </summary>
// /// <param name="dtSource">源DataTable</param>
// /// <param name="strHeaderText">表头文本</param>
// /// <returns></returns>
// public static MemoryStream Export(DataTable dtSource, string strHeaderText)
// {
// HSSFWorkbook workbook = new HSSFWorkbook();
// HSSFSheet sheet = workbook.CreateSheet();
// #region 右击文件 属性信息
// {
// DocumentSummaryInformation dsi = PropertySetFactory.CreateDocumentSummaryInformation();
// dsi.Company = "";//公司
// workbook.DocumentSummaryInformation = dsi;
// SummaryInformation si = PropertySetFactory.CreateSummaryInformation();
// si.Author = ""; //填加xls文件作者信息
// si.ApplicationName = ""; //填加xls文件创建程序信息
// si.LastAuthor = ""; //填加xls文件最后保存者信息
// si.Comments = ""; //填加xls文件作者信息
// si.Title = ""; //填加xls文件标题信息
// si.Subject = "";//填加文件主题信息
// si.CreateDateTime = DateTime.Now;
// workbook.SummaryInformation = si;
// }
// #endregion
// HSSFCellStyle dateStyle = workbook.CreateCellStyle();
// HSSFDataFormat format = workbook.CreateDataFormat();
// //dateStyle.DataFormat = format.GetFormat("yyyy-MM-dd");
// //取得列宽
// int[] arrColWidth = new int[dtSource.Columns.Count];
// foreach (DataColumn item in dtSource.Columns)
// { /*gb2312*/
// arrColWidth[item.Ordinal] = Encoding.GetEncoding(936).GetBytes(item.ColumnName.ToString()).Length;
// }
// for (int i = 0; i < dtSource.Rows.Count; i++)
// {
// for (int j = 0; j < dtSource.Columns.Count; j++)
// {
// int intTemp = Encoding.GetEncoding(936).GetBytes(dtSource.Rows[i][j].ToString()).Length;
// if (intTemp > arrColWidth[j])
// {
// arrColWidth[j] = intTemp;
// }
// }
// }
// int rowIndex = 0;
// foreach (DataRow row in dtSource.Rows)
// {
// #region 新建表,填充表头,填充列头,样式
// if (rowIndex == 65535 || rowIndex == 0)
// {
// if (rowIndex != 0)
// {
// sheet = workbook.CreateSheet();
// }
// #region 表头及样式
// {
// HSSFRow headerRow = sheet.CreateRow(0);
// headerRow.HeightInPoints = 25;
// headerRow.CreateCell(0).SetCellValue(strHeaderText);
// HSSFCellStyle headStyle = workbook.CreateCellStyle();
// headStyle.Alignment = CellHorizontalAlignment.CENTER;
// HSSFFont font = workbook.CreateFont();
// font.FontHeightInPoints = 20;
// font.Boldweight = 700;
// headStyle.SetFont(font);
// headerRow.GetCell(0).CellStyle = headStyle;
// sheet.AddMergedRegion(new Region(0, 0, 0, dtSource.Columns.Count - 1));
// headerRow.Dispose();
// }
// #endregion
// #region 列头及样式
// {
// HSSFRow headerRow = sheet.CreateRow(1);
// HSSFCellStyle headStyle = workbook.CreateCellStyle();
// headStyle.Alignment = CellHorizontalAlignment.CENTER;
// headStyle.BorderBottom = CellBorderType.THIN;
// headStyle.BorderLeft = CellBorderType.THIN;
// headStyle.BorderRight = CellBorderType.THIN;
// headStyle.BorderTop = CellBorderType.THIN;
// HSSFFont font = workbook.CreateFont();
// font.FontHeightInPoints = 10;
// font.Boldweight = 700;
// headStyle.SetFont(font);
// foreach (DataColumn column in dtSource.Columns)
// {
// headerRow.CreateCell(column.Ordinal).SetCellValue(column.ColumnName);
// headerRow.GetCell(column.Ordinal).CellStyle = headStyle;
// //设置列宽
// sheet.SetColumnWidth(column.Ordinal, (arrColWidth[column.Ordinal] + 1) * 256);
// }
// headerRow.Dispose();
// }
// #endregion
// rowIndex = 2;
// }
// #endregion
// #region 填充内容
// foreach (DataColumn column in dtSource.Columns)
// {
// HSSFRow dataRow = sheet.CreateRow(rowIndex);
// HSSFCell newCell = dataRow.CreateCell(column.Ordinal);
// newCell.CellStyle.BorderBottom = CellBorderType.THIN;
// newCell.CellStyle.BorderLeft = CellBorderType.THIN;
// newCell.CellStyle.BorderRight = CellBorderType.THIN;
// newCell.CellStyle.BorderTop = CellBorderType.THIN;
// string drValue = row[column].ToString();
// switch (column.DataType.ToString())
// {
// case "System.String"://字符串类型
// newCell.SetCellValue(drValue);
// break;
// case "System.DateTime"://日期类型
// DateTime dateV;
// DateTime.TryParse(drValue, out dateV);
// newCell.SetCellValue(dateV);
// newCell.CellStyle = dateStyle;//格式化显示
// break;
// case "System.Boolean"://布尔型
// bool boolV = false;
// bool.TryParse(drValue, out boolV);
// newCell.SetCellValue(boolV);
// break;
// case "System.Int16"://整型
// case "System.Int32":
// case "System.Int64":
// case "System.Byte":
// int intV = 0;
// int.TryParse(drValue, out intV);
// newCell.SetCellValue(intV);
// break;
// case "System.Decimal"://浮点型
// case "System.Double":
// double doubV = 0;
// double.TryParse(drValue, out doubV);
// newCell.SetCellValue(doubV);
// break;
// case "System.DBNull"://空值处理
// newCell.SetCellValue("");
// break;
// default:
// newCell.SetCellValue("");
// break;
// }
// }
// #endregion
// rowIndex++;
// }
// using (MemoryStream ms = new MemoryStream())
// {
// workbook.Write(ms);
// ms.Flush();
// ms.Position = 0;
// sheet.Dispose();
// workbook.Dispose();
// return ms;
// }
// }
// #endregion
// #region Export:以MemoryStream形式将DataTable导出到Excel文件
// /// <summary>
// /// DataTable导出到Excel文件
// /// </summary>
// /// <param name="dtSource">源DataTable</param>
// /// <param name="strHeaderText">表头文本</param>
// /// <param name="strFileName">保存位置</param>
// public static void Export(DataTable dtSource, string strHeaderText, string strFileName)
// {
// using (MemoryStream ms = Export(dtSource, strHeaderText))
// {
// using (FileStream fs = new FileStream(strFileName, FileMode.Create, FileAccess.Write))
// {
// byte[] data = ms.ToArray();
// fs.Write(data, 0, data.Length);
// fs.Flush();
// }
// }
// }
// #endregion
// public static DataTable Import(string strFileName, string SheetName, int HeaderRowIndex)
// {
// using (FileStream file = new FileStream(strFileName, FileMode.Open, FileAccess.Read))
// {
// return Import(file, SheetName, HeaderRowIndex);
// }
// }
// public static DataTable Import(string strFileName, int SheetIndex, int HeaderRowIndex)
// {
// using (FileStream file = new FileStream(strFileName, FileMode.Open, FileAccess.Read))
// {
// return Import(file, SheetIndex, HeaderRowIndex);
// }
// }
// #region Import:读取Excel默认第一行为列名
// /// <summary>
// /// 读取Excel默认第一行为标头
// /// </summary>
// /// <param name="strFileName">excel文档路径</param>
// /// <returns></returns>
// public static DataTable Import(string strFileName)
// {
// DataTable dt = new DataTable();
// HSSFWorkbook hssfworkbook;
// using (FileStream file = new FileStream(strFileName, FileMode.Open, FileAccess.Read))
// {
// hssfworkbook = new HSSFWorkbook(file);
// }
// HSSFSheet sheet = hssfworkbook.GetSheetAt(0);
// System.Collections.IEnumerator rows = sheet.GetRowEnumerator();
// HSSFRow headerRow = sheet.GetRow(0);
// int cellCount = headerRow.LastCellNum;
// for (int j = 0; j < cellCount; j++)
// {
// HSSFCell cell = headerRow.GetCell(j);
// dt.Columns.Add(cell.ToString());
// // dt.Columns.Add(getCellValueByType(cell));
// }
// for (int i = (sheet.FirstRowNum + 1); i <= sheet.LastRowNum; i++)
// {
// HSSFRow row = sheet.GetRow(i);
// DataRow dataRow = dt.NewRow();
// for (int j = row.FirstCellNum; j < cellCount; j++)
// {
// if (row.GetCell(j) != null)
// //dataRow[j] = row.GetCell(j).ToString();
// dataRow[j] = getCellValueByType(row.GetCell(j));
// }
// dt.Rows.Add(dataRow);
// }
// return dt;
// }
// #endregion
// #region Import:读取Excel数据到DataTable第一行为列名
// /// <summary>
// /// 读取Excel数据到DataTable第一行为列名
// /// </summary>
// /// <param name="ExcelFileStream">Excel文件流</param>
// /// <param name="SheetName"></param>
// /// <param name="HeaderRowIndex">从第几行开始读取</param>
// /// <returns></returns>
// public static DataTable Import(Stream ExcelFileStream, string SheetName, int HeaderRowIndex)
// {
// HSSFWorkbook workbook = new HSSFWorkbook(ExcelFileStream);
// HSSFSheet sheet = workbook.GetSheet(SheetName);
// DataTable table = new DataTable();
// HSSFRow headerRow = sheet.GetRow(HeaderRowIndex);
// int cellCount = headerRow.LastCellNum;
// for (int i = headerRow.FirstCellNum; i < cellCount; i++)
// {
// DataColumn column = new DataColumn(headerRow.GetCell(i).StringCellValue);
// table.Columns.Add(column);
// }
// int rowCount = sheet.LastRowNum;
// int startRow = HeaderRowIndex + 1;
// for (int i = startRow; i <= sheet.LastRowNum; i++)
// {
// HSSFRow row = sheet.GetRow(i);
// DataRow dataRow = table.NewRow();
// for (int j = row.FirstCellNum; j < cellCount; j++)
// {
// dataRow[j] = getCellValueByType(row.GetCell(j));
// //dataRow[j] = row.GetCell(j).ToString();
// }
// }
// ExcelFileStream.Close();
// workbook = null;
// sheet = null;
// return table;
// }
// #endregion
// #region Import读取Excel数据到DataTable第一行为列名
// /// <summary>
// /// 读取Excel数据到DataTable第一行为列名
// /// </summary>
// /// <param name="ExcelFileStream">Excel文件流</param>
// /// <param name="SheetIndex"></param>
// /// <param name="HeaderRowIndex">从第几行开始读取</param>
// /// <returns></returns>
// public static DataTable Import(Stream ExcelFileStream, int SheetIndex, int HeaderRowIndex)
// {
// HSSFWorkbook workbook = new HSSFWorkbook(ExcelFileStream);
// HSSFSheet sheet = workbook.GetSheetAt(SheetIndex);
// DataTable table = new DataTable();
// HSSFRow headerRow = sheet.GetRow(HeaderRowIndex);
// //int cellCount = headerRow.LastCellNum;
// int cellCount = headerRow.Cells.Count;
// for (int i = headerRow.FirstCellNum; i < cellCount; i++)
// {
// if (headerRow.GetCell(i).StringCellValue != null)
// {
// DataColumn column = new DataColumn(headerRow.GetCell(i).StringCellValue);
// table.Columns.Add(column);
// }
// }
// int rowCount = sheet.LastRowNum;
// int startRow = HeaderRowIndex + 1;
// for (int i = startRow; i <= sheet.LastRowNum; i++)
// {
// HSSFRow row = sheet.GetRow(i);
// DataRow dataRow = table.NewRow();
// for (int j = row.FirstCellNum; j < cellCount; j++)
// {
// if (row.GetCell(j) != null)
// {
// dataRow[j] = getCellValueByType(row.GetCell(j));
// }
// }
// table.Rows.Add(dataRow);
// }
// ExcelFileStream.Close();
// workbook = null;
// sheet = null;
// return table;
// }
// #endregion
// #region getCellValueByType:获取Excel对象单元格中的数据值
// /// <summary>
// /// 获取Excel对象单元格中的数据值
// /// </summary>
// /// <param name="cell">HSSFCellExcel单元格对象</param>
// /// <returns></returns>
// public static string getCellValueByType(HSSFCell cell)
// {
// string ret = "";
// switch (cell.CellType)
// {
// case HSSFCellType.BLANK: ret = ""; break;
// case HSSFCellType.BOOLEAN: ret = "[cell.BooleanCellValue]"; break;
// case HSSFCellType.NUMERIC:
// try
// {
// if (cell.ToString().Contains("/"))
// {
// ret = cell.DateCellValue.ToString();
// }
// else
// {
// ret = cell.NumericCellValue.ToString();
// }
// }
// catch (Exception e)
// {
// ret = cell.NumericCellValue.ToString();
// }
// //This is a trick to get the correct value of the cell. NumericCellValue will return a numeric value no matter the cell value is a date or a number.
// break;
// case HSSFCellType.STRING: ret = cell.StringCellValue; break;
// case HSSFCellType.ERROR: ret = "[cell.ErrorCellValue]"; break;
// case HSSFCellType.FORMULA: ret = cell.StringCellValue; break;//如果是公式,则返回值
// default: ret = "=" + cell.CellFormula; break;
// }
// return ret;
// }
// #endregion
// #region ExportExcelByWeb导出WebControl.GridView数据到Excel隐藏的数据列不导出
// /// <summary>
// /// 导出WebControl.GridView数据到Excel隐藏的数据列不导出
// /// </summary>
// /// <typeparam name="T">泛型对象</typeparam>
// /// <param name="gridView">填充数据的WebControl.GridView</param>
// /// <param name="listObj">需要导出的泛型对象集合列表</param>
// public static void ExportExcelByWeb<T>(GridView gridView, IList<T> listObj)
// {
// ExportExcelByWeb<T>(gridView, listObj, "", "");
// }
// /// <summary>
// /// 导出WebControl.GridView数据到Excel隐藏的数据列不导出
// /// </summary>
// /// <typeparam name="T">泛型对象</typeparam>
// /// <param name="gridView">填充数据的WebControl.GridView</param>
// /// <param name="listObj">需要导出的泛型对象集合列表</param>
// /// <param name="strHeaderText">导出Excel的标题默认为“Excel数据列表”</param>
// /// <param name="strFileName">导出的Excel文件名称默认为“ExportExcelFile”</param>
// public static void ExportExcelByWeb<T>(GridView gridView, IList<T> listObj, string strHeaderText, string strFileName)
// {
// if (string.IsNullOrEmpty(strHeaderText)) strHeaderText = "Excel数据列表";
// if (string.IsNullOrEmpty(strFileName)) strFileName = "ExportExcelFile";
// DataTable dt = null;//ConvertTypeUtil.ConvertListEntityToDataTable<T>(listObj);
// //实现将数据表中的数据填充到根据gridview的col属性解析后的DataTable中
// DataTable dtExportData = new DataTable();
// Dictionary<string, string> cols = new Dictionary<string, string>();
// foreach (object tcol in gridView.Columns)
// {
// if (tcol is System.Web.UI.WebControls.TemplateField)
// {
// System.Web.UI.WebControls.TemplateField tempcol = tcol as System.Web.UI.WebControls.TemplateField;
// if (tempcol.Visible && tempcol.SortExpression.Length > 0)
// {
// cols.Add(tempcol.SortExpression, tempcol.HeaderText);
// dtExportData.Columns.Add(tempcol.SortExpression);
// }
// }
// else if (tcol is BoundField)
// {
// BoundField BoundFieldLogID = tcol as BoundField;
// string bb = BoundFieldLogID.DataField;
// }
// }
// //实现根据GridView中的col属性进行数据列筛选并且另存到筛选后的DataTable
// foreach (DataRow dr in dt.Rows)
// {
// DataRow drExportData = dtExportData.NewRow();
// foreach (KeyValuePair<string, string> keyValue in cols)
// {
// drExportData[keyValue.Key] = dr[keyValue.Key];
// }
// dtExportData.Rows.Add(drExportData);
// }
// ExportByWeb(dtExportData, strFileName, strHeaderText);
// }
// #endregion
// #region GenerateExcelTemplate:生成excel数据模板
// /// <summary>
// /// 生成模版文件
// /// </summary>
// /// <param name="filePath">原始模版文件路径</param>
// /// <param name="dtSourceArr">Tabname为sheet名namespace为表头</param>
// /// <returns></returns>
// public static MemoryStream GenerateExcelTemplate(string filePath, List<DataTable> dtSourceArr)
// {
// HSSFWorkbook workbook = new HSSFWorkbook();
// using (FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.ReadWrite))
// {
// workbook = new HSSFWorkbook(fileStream);
// }
// #region 右击文件 属性信息
// {
// DocumentSummaryInformation dsi = PropertySetFactory.CreateDocumentSummaryInformation();
// dsi.Company = "";//公司
// workbook.DocumentSummaryInformation = dsi;
// SummaryInformation si = PropertySetFactory.CreateSummaryInformation();
// si.Author = ""; //填加xls文件作者信息
// si.ApplicationName = ""; //填加xls文件创建程序信息
// si.LastAuthor = ""; //填加xls文件最后保存者信息
// si.Comments = ""; //填加xls文件作者信息
// si.Title = ""; //填加xls文件标题信息
// si.Subject = "";//填加文件主题信息
// si.CreateDateTime = DateTime.Now;
// workbook.SummaryInformation = si;
// }
// #endregion
// HSSFCellStyle dateStyle = workbook.CreateCellStyle();
// HSSFDataFormat format = workbook.CreateDataFormat();
// //dateStyle.DataFormat = format.GetFormat("yyyy-MM-dd");
// for (int ti = 0; ti < dtSourceArr.Count; ti++)
// {
// var table = dtSourceArr[ti];
// HSSFSheet sheet = workbook.CreateSheet(table.TableName);
// workbook.SetSheetOrder(table.TableName, ti);
// //取得列宽
// int[] arrColWidth = new int[table.Columns.Count];
// foreach (DataColumn item in table.Columns)
// { /*gb2312*/
// arrColWidth[item.Ordinal] = Encoding.GetEncoding(936).GetBytes(item.ColumnName.ToString()).Length;
// }
// for (int i = 0; i < table.Rows.Count; i++)
// {
// for (int j = 0; j < table.Columns.Count; j++)
// {
// int intTemp = Encoding.GetEncoding(936).GetBytes(table.Rows[i][j].ToString()).Length;
// if (intTemp > arrColWidth[j])
// {
// arrColWidth[j] = intTemp;
// }
// }
// }
// int rowIndex = 0;
// foreach (DataRow row in table.Rows)
// {
// #region 新建表,填充表头,填充列头,样式
// if (rowIndex == 65535 || rowIndex == 0)
// {
// if (rowIndex != 0)
// {
// sheet = workbook.CreateSheet();
// }
// #region 表头及样式
// {
// HSSFRow headerRow = sheet.CreateRow(0);
// headerRow.HeightInPoints = 25;
// headerRow.CreateCell(0).SetCellValue(table.Namespace);
// HSSFCellStyle headStyle = workbook.CreateCellStyle();
// headStyle.Alignment = CellHorizontalAlignment.CENTER;
// HSSFFont font = workbook.CreateFont();
// font.FontHeightInPoints = 20;
// font.Boldweight = 700;
// headStyle.SetFont(font);
// headerRow.GetCell(0).CellStyle = headStyle;
// sheet.AddMergedRegion(new Region(0, 0, 0, table.Columns.Count - 1));
// headerRow.Dispose();
// }
// #endregion
// #region 列头及样式
// {
// HSSFRow headerRow = sheet.CreateRow(1);
// HSSFCellStyle headStyle = workbook.CreateCellStyle();
// headStyle.Alignment = CellHorizontalAlignment.CENTER;
// headStyle.BorderBottom = CellBorderType.THIN;
// headStyle.BorderLeft = CellBorderType.THIN;
// headStyle.BorderRight = CellBorderType.THIN;
// headStyle.BorderTop = CellBorderType.THIN;
// HSSFFont font = workbook.CreateFont();
// font.FontHeightInPoints = 10;
// font.Boldweight = 700;
// headStyle.SetFont(font);
// foreach (DataColumn column in table.Columns)
// {
// headerRow.CreateCell(column.Ordinal).SetCellValue(column.ColumnName);
// headerRow.GetCell(column.Ordinal).CellStyle = headStyle;
// //设置列宽
// sheet.SetColumnWidth(column.Ordinal, (arrColWidth[column.Ordinal] + 1) * 256);
// }
// headerRow.Dispose();
// }
// #endregion
// rowIndex = 2;
// }
// #endregion
// #region 填充内容
// foreach (DataColumn column in table.Columns)
// {
// HSSFRow dataRow = sheet.CreateRow(rowIndex);
// HSSFCell newCell = dataRow.CreateCell(column.Ordinal);
// newCell.CellStyle.BorderBottom = CellBorderType.THIN;
// newCell.CellStyle.BorderLeft = CellBorderType.THIN;
// newCell.CellStyle.BorderRight = CellBorderType.THIN;
// newCell.CellStyle.BorderTop = CellBorderType.THIN;
// string drValue = row[column].ToString();
// switch (column.DataType.ToString())
// {
// case "System.String"://字符串类型
// newCell.SetCellValue(drValue);
// break;
// case "System.DateTime"://日期类型
// DateTime dateV;
// DateTime.TryParse(drValue, out dateV);
// newCell.SetCellValue(dateV);
// newCell.CellStyle = dateStyle;//格式化显示
// break;
// case "System.Boolean"://布尔型
// bool boolV = false;
// bool.TryParse(drValue, out boolV);
// newCell.SetCellValue(boolV);
// break;
// case "System.Int16"://整型
// case "System.Int32":
// case "System.Int64":
// case "System.Byte":
// int intV = 0;
// int.TryParse(drValue, out intV);
// newCell.SetCellValue(intV);
// break;
// case "System.Decimal"://浮点型
// case "System.Double":
// double doubV = 0;
// double.TryParse(drValue, out doubV);
// newCell.SetCellValue(doubV);
// break;
// case "System.DBNull"://空值处理
// newCell.SetCellValue("");
// break;
// default:
// newCell.SetCellValue("");
// break;
// }
// }
// #endregion
// rowIndex++;
// }
// }
// using (MemoryStream ms = new MemoryStream())
// {
// workbook.Write(ms);
// ms.Flush();
// ms.Position = 0;
// //sheet.Dispose();
// workbook.Dispose();
// return ms;
// }
// }
// #endregion
// }
//}