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

784 lines
33 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//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
// }
//}