注: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. Dynamic CRM一对多关系的数据删除时设置自动删除关联的数据

    在业务实体中主子表非常常见,然后子表可能有会有自己的子表或者多对多关系,在删除的业务场景下,删除主数据,剩余的子数据就成了脏数据, 之前的做法是,监听主表的删除事件,然后在插件中找到其下的子表数据然后 ...

  2. Web 前端实战:JQ 实现下拉菜单

    实现过程 实现一个简易的鼠标悬停菜单项显示其子项的下拉框控件.将用到 CSS 绝对定位.流式布局.动画等:JQuery 鼠标移入和移出事件.DOM 查找.效果图如下: HTML 结构: <div ...

  3. 通过宏封装实现std::format编译期检查参数数量是否一致

    背景 std::format在传参数量少于格式串所需参数数量时,会抛出异常.而在大部分的应用场景下,参数数量不一致提供编译报错更加合适,可以促进我们更早发现问题并进行改正. 最终效果 // 测试输出接 ...

  4. 【Maven】Maven的安装和配置

    1.Maven的下载 方式一: 官网:Maven – Welcome to Apache Maven  尽量下载3.5版本,我个人3.8版本从来没用配置成功过. 方式二: 我用的是3.5版本,下载3. ...

  5. java代码审计的点

    java代码审计的点 组件的审计 首先看pom.xml查看第三方组件和第三方组件的版本 常用的第三方组件: 第三方组件 漏洞类型 组件漏洞版本 log4j2 远程代码执行 Apache log4j2 ...

  6. HC32L110(五) Ubuntu20.04 VSCode的Debug环境配置

    目录 HC32L110(一) HC32L110芯片介绍和Win10下的烧录 HC32L110(二) HC32L110在Ubuntu下的烧录 HC32L110(三) HC32L110的GCC工具链和VS ...

  7. C#实现HTTP访问类HttpHelper

    在项目开发过程中,我们经常会访问第三方接口,如我们需要接入的第三方接口是Web API,这时候我们就需要使用HttpHelper调用远程接口了.示例中的HttpHelper类使用Log4Net记录了每 ...

  8. GIN 索引

    GIN(Generalized Inverted Index, 通用倒排索引) 是一个存储对(key, posting list)集合的索引结构,其中key是一个键值,而posting list 是一 ...

  9. 如何使用memstat 插件分析内存泄漏问题

    对于内存泄漏问题,如何分析并找到内存泄漏的原因是个难点.KingbaseES 提供了memstat 扩展插件用于分析内存泄漏的原因. 一.使用 memstat 插件 1.修改shared_preloa ...

  10. 通过VS下载的NuGet包,如何修改其下载存放路径?

    一.了解NuGet包的默认存放路径 我们通过NuGet包管理器下载的引用包,默认是存放在C盘的,存储路径一般是: C:\Users\{系统用户名}\.nuget\packages 我们都知道,C盘的存 ...