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

东莞企业网站建设预算大概多少怎么做网站聊天视频直播

东莞企业网站建设预算大概多少,怎么做网站聊天视频直播,做家居建材出口网站有哪些,做网站用什么软件语言为了方便代码编写和测试,把很多代码都放在一个class里面,实际开发根据需要放到对应的目录下即可。 1.使用nuget下载安装miniexcel; 2.编写对应的测试接口,具体代码如下: 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 name="input"></param>/// <returns></returns>/// <exception cref="Exception"></exception>[HttpPost("Export")]public async Task<IActionResult> Export(){try{var models = new Custome().GetProducts();var exportDtos = _mapper.Map<List<CustomeExportDto>>(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 name="columnParams"></param>/// <returns></returns>/// <exception cref="Exception"></exception>[HttpPost("ExportByAssignColumn")][AllowAnonymous]public async Task<IActionResult> ExportByAssignColumn(List<CustomeParam> columnParams){try{if (columnParams == null || !columnParams.Any()) throw new Exception("请选择需要导出的列!");var dtos = new Custome().GetProducts();#region 配置var config = new OpenXmlConfiguration { };List<DynamicExcelColumn> objs = new List<DynamicExcelColumn>();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 List<Dictionary<string, object>>();foreach (var dto in dtos){var dic = new Dictionary<string, 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 name="id"></param>/// <returns></returns>/// <exception cref="Exception"></exception>[HttpPost("{id}/ExportByTemplate")]public async Task<IActionResult> 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 name="fieldName"></param>/// <param name="obj"></param>/// <returns></returns>private 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/// </summary>public int Id { get; set; }/// <summary>/// 产品编码/// </summary>public string Code { get; set; }/// <summary>/// 产品名称/// </summary>public string Name { get; set; }/// <summary>/// 价格/// </summary>public int Price { get; set; }/// <summary>/// 创建时间/// </summary>public DateTime CreateTime { get; set; }public List<Custome> GetProducts(){var products = new List<Custome>();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>/// 列名/// </summary>public string ColumnName { get; set; }/// <summary>/// 列显示名/// </summary>public string ColumnDisplayName { get; set; }/// <summary>/// 列宽/// </summary>public double ColumnWidth { get; set; }}
}

3.固定列和按模板导出Excel都比较常规,,其中的动态列导出是根据前端传进来的参数进行选择性的动态列导出,swagger测试效果如下:

在这里插入图片描述
在这里插入图片描述
导出的文件如下:
在这里插入图片描述

http://www.yayakq.cn/news/214477/

相关文章:

  • 佛山网站建设格式有哪些做程序题的国外网站
  • 建设网站项目简历网站做第三方登录
  • 网站开发实训结果分析及其心得体会高级ppt模板免费下载
  • 手机网站建设课程教学网站地图模板.zip
  • 网站建设推广语言在易语言里面做网站
  • 网站项目报价单呼伦贝尔网站开发
  • 招聘网站怎么做预算求个网站你明白的 知乎
  • 章丘网站优化防疫大数据平台
  • 郑州模板网站建设唐山哪里有建设网站的
  • 什么样建网站网站建设 国家标准
  • 怎样建设一个英语网站电子购物网站开发公司
  • 做的网站空白了哪个网站收录排名好
  • 青岛市网站制作白云网站建设公司
  • 培训网站源码wordpress旅游网站管理系统
  • 有没有女的做任务的网站适合前端新手做的网页
  • 怎样制作免费的网站哪些网站在哪找的
  • 旅游网站建设的目标是什么意思好123上网主页
  • 山西科技网站建设怎样在小程序开店
  • 自助建站系统免授权版如何注册一家投资公司
  • 阿里巴巴国际站官网首页四川省建设监理协会网站
  • 昆山网站建设网站手机app一般用什么开发
  • 网站备案和实名认证噼哩噼哩pilipili污染版
  • 如何建设高等数学课程网站泰安网站建设焦点网络
  • 网站 短链接怎么做wordpress如何加表情
  • 中国建设工程造价管理协会网站查询职业生涯规划书模板
  • 怎样建立一个自己的网站wordpress qtranslate
  • 网站加油站网站建设教程小说
  • seo网站建设规划网页设计结构
  • 学校网站建设团队番禺做网站的公司
  • 常州企业建站系统网站建设可行性分析报告模板