实例介绍
【实例简介】
NPOI导出EXCEL文件
【实例截图】
【核心代码】
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace NPOI导出
{
class Program
{
static void Main(string[] args)
{
ExcelToFile.exportExcel();
}
public class ExcelToFile
{
/// <summary>
/// 获取单元格类型
/// </summary>
/// <param name="cell"></param>
/// <returns></returns>
private static object GetValueType(ICell cell)
{
if (cell == null)
return null;
switch (cell.CellType)
{
case CellType.Blank: //BLANK:
return null;
case CellType.Boolean: //BOOLEAN:
return cell.BooleanCellValue;
case CellType.Numeric: //NUMERIC:
return cell.NumericCellValue;
case CellType.String: //STRING:
return cell.StringCellValue;
case CellType.Error: //ERROR:
return cell.ErrorCellValue;
case CellType.Formula: //FORMULA:
default:
return "=" cell.CellFormula;
}
}
public static string getFilePath()
{
string desktop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
Console.WriteLine(desktop);//桌面路径
// Console.ReadLine();
string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") ".xls"; // 文件名称
string urlPath = desktop "/" fileName; // 文件下载的URL地址
Console.WriteLine(urlPath);
return urlPath;
}
public static string exportExcel()
{
IWorkbook workbook;
string file = getFilePath();
string fileExt = Path.GetExtension(file).ToLower();
if (string.IsNullOrEmpty(fileExt) == false)
{
if (fileExt == ".xlsx")
{
workbook = new XSSFWorkbook();
}
else if (fileExt == ".xls")
{
workbook = new HSSFWorkbook();
}
else
{
workbook = null;
}
if (workbook == null)
{
return "没有工作簿";
}
}
else
{
return "导出路径出错";
}
//ISheet sheet = string.IsNullOrEmpty(dt.TableName) ? workbook.CreateSheet("Sheet1") : workbook.CreateSheet(dt.TableName);
ISheet sheet = workbook.CreateSheet("sheet1");
//表头
IRow row = sheet.CreateRow(0);
row.CreateCell(0).SetCellValue("ID");
row.CreateCell(1).SetCellValue("名称");
row.CreateCell(2).SetCellValue("名称");
row.CreateCell(3).SetCellValue("名称");
row.CreateCell(4).SetCellValue("名称");
row.CreateCell(5).SetCellValue("名称");
row.CreateCell(6).SetCellValue("名称");
row.CreateCell(7).SetCellValue("名称");
row.CreateCell(8).SetCellValue("名称");
//数据
IRow row1 = sheet.CreateRow(3);
for (int j = 0; j < 9; j )
{
ICell cell = row1.CreateCell(j);
}
/*修改样式关键代码*/
ICellStyle style = workbook.CreateCellStyle();
style.FillPattern = FillPattern.SolidForeground;
style.BorderTop = BorderStyle.Thin;
style.BorderRight = BorderStyle.Thin;
style.BorderBottom = BorderStyle.Thin;
style.BorderLeft = BorderStyle.Thin;
row.Cells[5].CellStyle = style;
row1.GetCell(0).SetCellValue("1");
row1.GetCell(1).SetCellValue("2");
row1.GetCell(2).SetCellValue("3");
row1.GetCell(3).SetCellValue("4");
row1.GetCell(4).SetCellValue("5");
row1.GetCell(5).SetCellValue("6");
row1.GetCell(6).SetCellValue("7");
row1.GetCell(7).SetCellValue("8");
row1.GetCell(8).SetCellValue("9");
//转为字节数组
MemoryStream stream = new MemoryStream();
workbook.Write(stream);
var buf = stream.ToArray();
//保存为Excel文件
using (FileStream fs = new FileStream(file, FileMode.Create, FileAccess.Write))
{
fs.Write(buf, 0, buf.Length);
fs.Flush();
}
return "ok";
}
}
}
}
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明


网友评论
我要评论