当前位置: 首页 > news >正文

网站开发专业课程软件工程师发展前景

网站开发专业课程,软件工程师发展前景,专业的外贸行业网站设计,最新长沙招聘信息为了方便代码编写和测试#xff0c;把很多代码都放在一个class里面#xff0c;实际开发根据需要放到对应的目录下即可。 1.使用nuget下载安装miniexcel#xff1b; 2.编写对应的测试接口#xff0c;具体代码如下: using Microsoft.AspNetCore.Authorization; using Micr…为了方便代码编写和测试把很多代码都放在一个class里面实际开发根据需要放到对应的目录下即可。 1.使用nuget下载安装miniexcel 2.编写对应的测试接口具体代码如下: using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using System.Collections.Generic; using System.IO; using System.Threading.Tasks; using System; using AutoMapper; using MiniExcelLibs.Attributes; using MiniExcelLibs; using MiniExcelLibs.OpenXml; using System.Linq;namespace YY.Webapi.Controllers {/// summary/// miniexcel测试/// /summary[Route(api/[controller])][ApiController][Produces(application/json)][AllowAnonymous]public class MiniExcelController : ControllerBase{private readonly IMapper _mapper;public MiniExcelController(IMapper mapper){_mapper mapper;}/// summary/// 固定列导出/// /summary/// param nameinput/param/// returns/returns/// exception crefException/exception[HttpPost(Export)]public async TaskIActionResult Export(){try{var models new Custome().GetProducts();var exportDtos _mapper.MapListCustomeExportDto(models);var memoryStream new MemoryStream();memoryStream.SaveAs(exportDtos);memoryStream.Seek(0, SeekOrigin.Begin);return new FileStreamResult(memoryStream, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet){FileDownloadName $固定列报表导出-{DateTime.Now.ToString(yyyyMMddHHmmss)}.xlsx};}catch (Exception ex){throw new Exception($固定列报表导出出现错误:{ex.Message});}}/// summary/// 动态列导出(指定列导出)/// /summary/// param namecolumnParams/param/// returns/returns/// exception crefException/exception[HttpPost(ExportByAssignColumn)][AllowAnonymous]public async TaskIActionResult ExportByAssignColumn(ListCustomeParam columnParams){try{if (columnParams null || !columnParams.Any()) throw new Exception(请选择需要导出的列!);var dtos new Custome().GetProducts();#region 配置var config new OpenXmlConfiguration { };ListDynamicExcelColumn objs new ListDynamicExcelColumn();int index 0;foreach (var columnParam in columnParams){objs.Add(new DynamicExcelColumn(columnParam.ColumnDisplayName) { Index index, Width columnParam.ColumnWidth });}config.DynamicColumns objs.ToArray();#endregion#region 获取值var values new ListDictionarystring, object();foreach (var dto in dtos){var dic new Dictionarystring, object();foreach (var columnParam in columnParams){dic.Add(columnParam.ColumnDisplayName, GetModelValue(columnParam.ColumnName, dto));}values.Add(dic);}#endregionvar memoryStream new MemoryStream();memoryStream.SaveAs(values, configuration: config);memoryStream.Seek(0, SeekOrigin.Begin);return new FileStreamResult(memoryStream, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet){FileDownloadName $动态列报表导出-{DateTime.Now.ToString(yyyyMMddHHmmss)}.xlsx};}catch (Exception ex){throw new Exception($动态列报表导出错误:{ex.Message});}}/// summary/// 按模板导出/// /summary/// param nameid/param/// returns/returns/// exception crefException/exception[HttpPost({id}/ExportByTemplate)]public async TaskIActionResult ExportByTemplate([FromRoute] int id){try{var entity new Custome() { Id 1, Code Code, Name Test, Price 12, CreateTime DateTime.Now };string templatePath $C:\Users\Administrator\Desktop\报表模板.xlsx;var value new{Code entity.Code,Name entity.Name};byte[] bytes System.IO.File.ReadAllBytes(templatePath);var memoryStream new MemoryStream();await memoryStream.SaveAsByTemplateAsync(bytes, value);memoryStream.Seek(0, SeekOrigin.Begin);return new FileStreamResult(memoryStream, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet){FileDownloadName $按模板报表导出-{DateTime.Now.ToString(yyyyMMddHHmmss)}.xlsx};}catch (Exception ex){throw new Exception($按模板报表导出错误:{ex.Message});}}#region 私有方法/// summary/// 根据字段名获取对应的值/// /summary/// param namefieldName/param/// param nameobj/param/// returns/returnsprivate string GetModelValue(string fieldName, object obj){try{object o obj.GetType().GetProperty(fieldName).GetValue(obj, null);string Value Convert.ToString(o);if (string.IsNullOrEmpty(Value)) return ;return Value;}catch{return ;}}#endregion}public class Custome{/// summary/// 产品Id/// /summarypublic int Id { get; set; }/// summary/// 产品编码/// /summarypublic string Code { get; set; }/// summary/// 产品名称/// /summarypublic string Name { get; set; }/// summary/// 价格/// /summarypublic int Price { get; set; }/// summary/// 创建时间/// /summarypublic DateTime CreateTime { get; set; }public ListCustome GetProducts(){var products new ListCustome();for (int i 0; i 1000; i){products.Add(new Custome{Id i 1,Code $Code-{(i 1).ToString()},Name $Name-{(i 1).ToString()},Price Random.Shared.Next(10, 100),CreateTime DateTime.Now});}return products;}}public class CustomeExportDto{/// summary/// 产品编码/// /summary[ExcelColumn(Name 产品编码, Width 12)]public string Code { get; set; }/// summary/// 产品名称/// /summary[ExcelColumn(Name 产品名称, Width 12)]public string Name { get; set; }/// summary/// 价格/// /summary[ExcelColumn(Name 价格, Width 12)]public int Price { get; set; }/// summary/// 创建时间/// /summary[ExcelColumn(Name 创建时间, Width 12, Format yyyy-MM-dd HH:mm:ss)]public DateTime CreateTime { get; set; }}public class CustomeParam{/// summary/// 列名/// /summarypublic string ColumnName { get; set; }/// summary/// 列显示名/// /summarypublic string ColumnDisplayName { get; set; }/// summary/// 列宽/// /summarypublic double ColumnWidth { get; set; }} } 3.固定列和按模板导出Excel都比较常规其中的动态列导出是根据前端传进来的参数进行选择性的动态列导出,swagger测试效果如下: 导出的文件如下:
http://www.eeditor.cn/news/125763/

相关文章:

  • 成功案例展示网站dedecms做网站教程
  • 做网站怎么配电脑低价网站建设哪家更好
  • 阳江网站制作建设医疗器械监督管理条例2021
  • 官方网站建设制作平台金华建设银行网站
  • 建专业外贸网站深圳网站建设.-方维网络
  • 做网站的技术体系先做网站再备案吗
  • 无锡网站制作公司排名亚马逊做网站
  • qq空间破解版seo百度刷排名
  • 济宁个人网站建设价格便宜合肥建设网站
  • 成都三合一网站建设店面设计师哪里找
  • 网站备案之前需要建好网站吗在线制作钓鱼网站源码
  • 网站建设关健词优化网络公司怎么样现在有哪家建筑公司招人
  • 滨海新区商城网站建设域名服务器地址查询
  • 哪个建设网站好广东深圳
  • 邢台网站制作地方兰州做网站优化的公司
  • 鞍山手机网站建设在哪个网站做注册资本变更
  • 网站美工效果图怎么做鞍山哪里做网站
  • 给设计网站做图是商用吗免费空间刷赞
  • 微信网站建设教程c2c的网站有哪些
  • 专业做网站 上海易语言怎么做点击按钮打开网站
  • 商城网站设计公司怎么样asp网站开发模板
  • vs2017移动网站开发如何做外贸网站优化推广
  • 建设报名系统是正规网站吗网络营销策划方案基本思路
  • 网站托管方案服装 多语言 网站源码
  • 网站制作网站做网南宁百度seo推广
  • 江苏城乡建设部网站wordpress管局备案
  • 成都网站seo分析中国建设银行网站官网
  • 网站建设电商考试做一个天猫店铺要多少钱
  • 深圳互联网公司网站做网站要sql 数据库名字账号密码
  • 文章网建站制作企业网站的版式