注:ToString对数值字符串的处理

string nID=555;

nID.ToString("00000000");   ---00000555

var oFile = Request.Form.Files["file"];

Workbook workBook = new Workbook(path);
Worksheet workSheet = workBook.Worksheets["Sheet1"];    //判断是否能找到Sheet1

Cells cell = workSheet.Cells;

string str = cell.GetRow(0)[i].StringValue;    //i为column索引  从0开始  获取单元格的内容

创建一个Sheet表(并将excel表保存到Path路径)

//Workbook workbook = new Workbook(); //工作簿
//Name :就是sheet表的名字(string)
//string[] ColumnNames = new string[] { "Column1", "Column2", "Column3", "column4", "column5" }; (列名)首行的名字(主要记录有多少列,方便循环插入数据)

//List<string[]> ArrPrint = new List<string[]>();    ArrPrint里面包含所有的报表信息包括列头
  //ArrPrint.Add(ColumnNames);

//string[] arr = new string[] {data1,data2,data3,data4,data5 }     ArrPrint.Add(arr);将要所有要记录的数据全部存进去

//调用CreateSheet(workbook, 0, "Fapiao", ColumnNames, ArrPrint);

//workbook.Save(Path);将excel表保存到这个路径

internal static void CreateSheet(Workbook workbook, int num, string Name, string[] ColumnNames, List<string[]> arrayList)
{
workbook.Worksheets.Add(Name);
Worksheet sheet = workbook.Worksheets[num]; //工作表
Cells cells = sheet.Cells;//单元格
Style style = workbook.CreateStyle();//新增样式
style.Font.Name = "宋体";//文字字体
style.Font.Size = 12; //文字大小
style.Font.IsBold = true;//粗体
style.Borders[BorderType.LeftBorder].LineStyle = CellBorderType.Thin;
style.Borders[BorderType.RightBorder].LineStyle = CellBorderType.Thin;
style.Borders[BorderType.TopBorder].LineStyle = CellBorderType.Thin;
style.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin;
style.HorizontalAlignment = TextAlignmentType.Center; //单元格内容的水平对齐方式文字居中
//遍历行和列 可获取单元格并填充数据
//因为arrarlist中包含表头所坐标和单元格是对应的

if (arrayList.Count > 1)
{
for (int k = 0; k < arrayList.Count; k++)
{
for (int i = 0; i < ColumnNames.Length; i++)
{
cells[k, i].PutValue(arrayList[k][i]);
cells[k, i].SetStyle(style);
}
}
}
sheet.AutoFitColumns();
sheet.AutoFitRows();
}

根据Path路径下载excel表

public IActionResult ExportWorkList(string filePath)
{
//打开一个现有文件供读取
var stream = System.IO.File.OpenRead(filePath);
//返回指定路径字符串的扩展名(包括句点".")。 .xlsx
string fileExt = System.IO.Path.GetExtension(filePath);
var provider = new FileExtensionContentTypeProvider();
//文件扩展名和内容类型的交叉引用表
var memi = provider.Mappings[fileExt];
//三个参数 1.包含文件内容的文件流 2.内容类型 3.filedownloadName
//GetFileName 返回路径中最后一个目录分隔符'\'之后的字符。 list.xlsx

return File(stream, memi, Path.GetFileName(filePath));
}

最新文章

  1. 采用重写tostring方法使ComboBox显示对象属性
  2. get/post方式调用http接口
  3. 【STL】全排列生成算法:next_permutation
  4. centos ppp拨号
  5. java cannot find the tag library descriptor for &quot;http://java.sun.com/jsp/jstl/core&quot;
  6. Linux 下编译Android-VLC开源播放器详解(附源码下载)
  7. python 主机宝
  8. Nginx 错误处理方法: bind() to 0.0.0.0:80 failed
  9. 从虚拟dom了解vue渲染函数
  10. python数据结构与算法第七天【链表】
  11. P1200 你的飞碟在这儿
  12. C语言基础语法
  13. 树形dp(A - Anniversary party HDU - 1520 )
  14. C# FileStream进行FTP服务上传文件和下载文件
  15. 连接GitHub的方法
  16. SyncML 同步协议 感谢 周鹏(我只是做一个备份)
  17. WCF把书读薄(3)——数据契约、消息契约与错误契约
  18. 富文本的一般处理方式,document.getElementById(&#39;富文本的ID&#39;).contentWindow.document.body.innerHTML = &#39;%s&#39;&quot; %(content)
  19. 涨知识 - II
  20. java学习笔记_网络

热门文章

  1. LOJ6671 EntropyIncreaser 与 Minecraft (生成函数)
  2. HDU4372 Count the Buildings (+题解:斯特林数)
  3. 【java】学习路径43-IO流总结与练习题!
  4. 「学习笔记」倍增思想与lca
  5. Think PHP 完整的带富文本格式以及图片上传,并且在页面上分页展示
  6. 04_Linux基础-.&amp;..-cat-tac-重定向-EOF-Shell-more-ps-less-head-tail-sed-grep-which-whereis-PATH-bash-usr-locate-find
  7. 开发个RTMP播放器居然这么难?RTMP播放器对标和考察指标
  8. KingbaseESV8R3对于order by null列的处理
  9. gem5 使用记录, 基于理解来写个最简单的计数器程序
  10. 基于 Gitea 服务端渲染的 Jupyter Notebooks