注: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));
}

C#--对上传的Excel文档的处理的更多相关文章

  1. C#实现上传/下载Excel文档

    要求 环境信息:WIN2008SERVER  开发工具:VS2015 开发语言:C# 要求: 1.点击同步数据后接口获取数据展示页面同时过滤无效数据并写入数据库,数据可导出Excel并支持分类导出 2 ...

  2. php 如何写入、读取word,excel文档

    如何在php写入.读取word文档 <? //如何在php写入.读取word文档 // 建立一个指向新COM组件的索引 $word = new COM("word.applicatio ...

  3. 基于DevExpress实现对PDF、Word、Excel文档的预览及操作处理

    http://www.cnblogs.com/wuhuacong/p/4175266.html 在一般的管理系统模块里面,越来越多的设计到一些常用文档的上传保存操作,其中如PDF.Word.Excel ...

  4. PHP读取excel文档

    PHP读取excel文档 项目需要读取Excel的内容,从百度搜索了下,主要有两个选择,第一个是PHPExcelReader,另外一个是PHPExcel.   PHPExcelReader比较轻量级, ...

  5. ASP.NET 导入EXCEL文档

    鉴于教务一般都是手动输入学生信息,在未了解本校数据库的客观情况之下,我们准备设计一个导入excel文档中学生信息如数据库的功能.结合网上各类大牛的综合版本出炉.. 首先具体的实现思想如下: 1.先使用 ...

  6. Oracle PLSQL读取(解析)Excel文档

    http://www.itpub.net/thread-1921612-1-1.html !!!https://code.google.com/p/plsql-utils/ Introduction介 ...

  7. NPOI 2.1.1 系列(1) 使用NPOI读取 Excel文档 ;NpoiExcelHelper 导入导出 2003格式 2007格式的 Excel; Npoi 导出 xlsx 格式

    下载地址 http://npoi.codeplex.com/releases 下面放一个 NPOIHelper 助手类吧,也不是我写的- NpoiExcelHelper 可以生成xlsx格式publi ...

  8. 一次Mono解析Excel文档编码出错排查记录

    最近在捯饬Asp.Net站点部署到Linux平台上面,在文档导入的操作中经过网上搜索采用了能够支持跨平台的ExcelDataReader组建.在本地windows上测试通过NuGet安装的组建,这货依 ...

  9. java、ruby、python、php等如何生成excel文档?

    excel在我们日常工作生活中会经常用到,通常我们都是用office软件去编写文档.但是对于格式一致的excel文档,如果还是使用人工完成,那绝不是我们软件工程师的姿态了~ 下面我就介绍一种方法,不需 ...

随机推荐

  1. HDU3085 Nightmare Ⅱ (双向BFS)

    联赛前该练什么?DP,树型,状压当然是爆搜啦 双向BFS就是两个普通BFS通过一拼接函数联系,多多判断啦 #include <iostream> #include <cstdio&g ...

  2. Java-文件File简单实用

    1.1java.io.File File用于表示文件系统中的一个文件或目录 通过File可以: 1:访问该文件或目录的属性信息(名字,大小,修改时间等) file.getName();获取文件名 fi ...

  3. 人人都能看懂的卡西欧fx991cnx玩机指南,手把手教你如何利用计算器的漏洞爆机

    专业术语说明 你是VerB还是VerC 别人问你这个问题的时候不要慌,帮你看你的计算器是Ver几: 同时按住shift.7.开机键 9 5次shift 第一行后半句即是 紧接着可以顺便看看计算器的序列 ...

  4. mybatisplus-Service CRUD 接口

    通用 Service CRUD 封装IService (opens new window)接口,进一步封装 CRUD 采用 get 查询单行 remove 删除 list 查询集合 page 分页 前 ...

  5. 页面POST请求302重定向解决方案

    一.在后端Middleware中判断如果是post请求,返回json格式 二.前端全局js中捕获ajax请求进行处理

  6. 记pyautogui使用方法

    记录学习过程,本人喜欢简洁不啰嗦: 控制鼠标 1 pyautogui.moveTo(w - 100, h - 100, duration=0.25) # 立即移动到指定x, y位置坐标, durati ...

  7. openstack中Neutron组件简解

    一.Neutron概述 Neutron 的设计目标是实现"网络即服务(Networking as a Service)".为了达到这一目标,在设计上遵循了基于 SDN 实现网络虚拟 ...

  8. Windows如何创存储虚拟机并制作存储虚拟化LUN的映射

    创建虚拟机 只能设置为8G,不能多也不能少 选择仅主机模式 选择使用现有磁盘 浏览选择自己的vmdk文件 选择保存现有格式 点击完成 点击编辑虚拟机设置 添加一个40G的硬盘 修改为40G并选择存储为 ...

  9. git rebase合并多个commit总结

    git rebase 合并多个commit 方法 在开发过程中,有时一个任务会分几次commit提交,这样可能对于有些分支要cherry pick时会比较麻烦,这是我们可以通过git rebase 将 ...

  10. ViewBinding 与 Kotlin 委托双剑合璧

    请点赞关注,你的支持对我意义重大. Hi,我是小彭.本文已收录到 GitHub · Android-NoteBook 中.这里有 Android 进阶成长知识体系,有志同道合的朋友,关注公众号 [彭旭 ...