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

php 用什么做网站服务器吗深圳seo优化外包公司

php 用什么做网站服务器吗,深圳seo优化外包公司,网站建设管理工作计划,街道门户网站的建设思路为了方便代码编写和测试,把很多代码都放在一个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.mmbaike.com/news/45808.html

相关文章:

  • 郴州网站建设推广方案网络广告策划案例
  • 厦门做网站哪家公司好创新驱动发展战略
  • php做网站有哪些优点万能搜索引擎网站
  • 佛山专业网站设计站长之家的seo综合查询工具
  • 零陵网站建设服务器
  • 网站建设cms系统北京谷歌seo
  • 网站建设的目标是什么crm系统网站
  • 做banner拉伸网站会糊一键生成网站
  • 网站 河北 备案 慢网站推广优化排名seo
  • 如何建设网站论坛企业建站都有什么网站
  • 产品设计个人作品集广州百度推广优化排名
  • 想做个网站找谁做seo长尾关键词
  • 珠海网站制作推荐惠州seo推广优化
  • 汕头网站建设和运营网络媒体发稿平台
  • 如何做网站关键字优化怎么做网站卖产品
  • 做网站看企业培训课程设计
  • 广东省网站开发建设夸克搜索入口
  • 做个网站找别人做的吗安徽网络建站
  • 周口做网站的公司百度搜索词排名
  • sns社交网站建设谷歌seo优化推广
  • 网站建立项目步骤杭州网站优化服务
  • 网站职能海淀区seo搜索引擎
  • WordPress 附件上传绍兴百度seo排名
  • 怎么修改网站上传附件大小2023年又封城了
  • 做网站建设的平台谷歌浏览器网页
  • php html5企业网站源码原创代写文章平台
  • 百度小程序app下载绍兴seo排名
  • 签到做任务赚钱的网站百度网址大全 旧版本
  • 酒店网站建设目标企业文化案例
  • 网站制作切片百度地图3d实景地图