类对象导出excle

springboot整合EasyPoi指定模板导出excle springboot整合EasyPoi导出excle 摘选自EasyPoi教程:教程链接 1.添加pom依赖 <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-base</artifactId> <version>3.2.0</version> </dependency> <dependency> 阅读详情

using System;
using System.Collections;
using System.Data;
using System.Data.OleDb;
using System.Collections.Generic;
using System.IO;
using System.Reflection;
using System.Web;
using System.Text;
using System.Data.SqlClient;
using System.Drawing;
using System.Data.OleDb;
using Microsoft.Office.Interop.Excel;
using System.Runtime.InteropServices;

 

 

 

 

 

 

            /// <summary>
            /// 类导出excel 调用微软自带Microsoft.Office.Interop.Excel接口
            /// </summary>
            /// <typeparam name="T">类对象</typeparam>
            /// <param name="list">类集合</param>
            /// <param name="notecolumn">类属性</param>
            /// <param name="titlecolumn">表头</param>
            /// <note>备注:表头与相对应属性必须一一对应,类属性必须完全与类中属性相同</note>

 

public void OutExcel<T>(List<T> list, string[] notecolumn, string[] titlecolumn)
            {
                //-----------初始化-----------------------
                string filename = "";
                Application app = null;
                Workbook wb = null;
                Worksheet sheet = null;
                //-----------------------------------
                try
                {
                    //---------------------------------------------------数据填充-------------------------------------------------------------
                    app = new Application();
                    app.Visible = false;
                    wb = (Workbook)app.Workbooks.Add(Missing.Value);
                    sheet = (Worksheet)wb.ActiveSheet;
                    for (int i = 0; i < titlecolumn.Length; i++)
                    {
                        sheet.Cells[1, 1 + i] = titlecolumn[i];
                        for (int j = 0; j < list.Count; j++)
                        {
                            if (notecolumn[i] != string.Empty)
                            {
                                sheet.Cells[j + 2, i+1] ="'" +list[j].GetType().GetProperty(notecolumn[i]).GetValue(list[j],null);
                            }
                        }
                    }
                    //-------------------------------------------------------------------------------------------------------------------
                    //--------------------------------------------------保存到服务器-----------------------------------------------------------------------
                    wb.Saved = true;
                    string filepath = HttpContext.Current.Server.MapPath("~") + "/Utility/files/TempExcel";
                    if (!Directory.Exists(filepath))
                    {
                        Directory.CreateDirectory(filepath);
                    }
                    filename = String.Format("{0}{1}.xls",filepath+"//", DateTime.Now.ToString("yyyyMMddHHmmssffff"));
                    app.ActiveWorkbook.SaveCopyAs(filename);
                    //------------------------------------------------------------------------------------------------------------------------------------
                }
                finally
                {
                    wb.Close(null, null, null);
                    app.Workbooks.Close();
                    app.Quit();
                    Marshal.ReleaseComObject((object)app);
                    Marshal.ReleaseComObject((object)wb);
                    Marshal.ReleaseComObject((object)sheet);
                    GC.Collect();
                }
                //-----------------------------------输出excel------------------------------------------------------------------------------------------------
                FileInfo fileInfo = new FileInfo(filename);
                HttpContext.Current.Response.Clear();
                HttpContext.Current.Response.ClearContent();
                HttpContext.Current.Response.ClearHeaders();
                HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename="+filename.Substring(filename.LastIndexOf("//")+1));
                HttpContext.Current.Response.AddHeader("Content-Length", fileInfo.Length.ToString());
                HttpContext.Current.Response.AddHeader("Content-Transfer-Encoding", "binary");
                HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
                HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
                HttpContext.Current.Response.WriteFile(fileInfo.FullName);
                HttpContext.Current.Response.Flush();
                HttpContext.Current.Response.End();
                //---------------------------------------------------------------------------------------------------------------------------------------------
            }

SpringBoot导出数据到Excle中 项目结构:   1.先创建实体类 package com.zjh.springbootmybatis.entiy; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @NoArgsConstructor //无参构造 @AllArgsConstructo... 阅读详情

相关推荐

基于PyQt5的快速开发模板系统-Excle数据批量导入及导出表格数据为Excle

基于Python和PyQt5的快速开发模板系统-Excle数据批量导入显示及表格数据导出 基于PyQt5按钮控制实现excle数据批量导入及当前表格存在数据的批量导出,可在此基础上进行功能扩展。 1. 效果 2. 界面逻辑程序示例 2.1 导入EXCLE数据 # # 导入Excel def load_excledata(self): global openFileurl, tables, scale, user, age, gongzi, tables_show, tabl

CJW的博客 3399

Java 对象集合数据导出到Excel

Java 对象集合数据导出到Excel 导出类 package test; import java.io.FileOutputStream; import java.io.OutputStream; import java.lang.reflect.Method; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.Map; import java.util.UU

TPH_BETTER.的博客 1952

JSON对象转成Excel导出

JSON对象转成Excel导出。例子: var option = {}; option.fileName = '多行业导出' option.datas=[ { sheetData:sd1, sheetName:'用电情况', //sheetFilter:['two','one'], sheetHeader:sh1 }, { sheetData:sd3, sheetName:'增速趋势', sheetHeader:sh3 } ]; var toExcel=new ExportJsonExcel(option); toExcel.saveExcel();

史上最全easyexcel版的Excel导入导出

整理的这些资料希望对Java开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。其实面试这一块早在第一个说的25大面试专题就全都有的。以上提及的这些全部的面试+学习的各种笔记资料,我这差不多来回搞了三个多月,收集整理真的很不容易,其中还有很多自己的一些知识总结。正是因为很麻烦,所以对以上这些学习复习资料感兴趣《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

2401_83329402的博客 1414

erdas监督分类(二)

去云 用一张没有云的影像替代有云影像 构建aoi图层 将云和云影编码合并 重编码工作 在监督分类做的差不多以后(纠正无误,无明显错误),就要对监督分类图像进行重编码和颜色调整。 在中选中Recode,对原来分类的地物类别进行重编码,(为彻底修改,记得备份)选中一列,在New Value输入新的编码,依次编码后点击应用apply,即可实现。 这时的图像如果是全黑的或者只有一两类的颜色也没有关系,新的编码覆盖掉了原来的编码,但是颜色并没有改变才会这样。可以点击图像,右击...

weixin_58968530的博客 958

数字IC后端设计实战:从floorplan到powerplan的优化策略

本文深入探讨了数字IC后端设计中从Floorplan到Powerplan的核心优化策略。文章强调了Floorplan作为布局基础的重要性,并详细解析了Powerplan规划,特别是针对低功耗设计中MTCMOS的应用与IR Drop分析。通过实战经验分享,提供了从模块摆放到电源网络构建、再到IR Drop问题层层递进的解决方案,旨在帮助后端工程师构建稳健高效的芯片物理设计。

weixin_28338005的博客 349

java poi3.15操作对象导出为excel与excel导入为对象和导出带下拉框级联的模板

基于poi3.15的excel操作,写入excel并导出

Alina_shu的博客 2727

量化平台深度测评:聚宽 / 米筐 / 迅投 QMT 对比分析

本文对比测评国内主流量化交易平台聚宽、米筐和迅投QMT,从回测性能、实盘稳定性和高级功能三方面展开分析。测试显示:聚宽在低频策略回测中效率最高(128秒),米筐次之;迅投QMT凭借C++直连架构实现最低延迟(150ms)和最高订单撤销成功率(98.5%)。平台特色方面,QMT的智能拆单算法可减少25%滑点损失,聚宽的因子库支持版本控制和缓存复用。建议低频策略选聚宽,高频交易选QMT,团队协作优先考虑聚宽。测试数据均来自合规实盘环境,建议根据策略特性进行试用验证。

tianchi2009123的博客 7379

导出对象

// 导出对象 export const student = { name: 'Megan', age: 18 } 导出方法

zyf13671493506的博客 422

LM Studio 模型加载与转换实战指南:从GGUF格式到本地部署

本文提供了使用LM Studio加载与转换GGUF格式大语言模型的完整实战指南。详细阐述了为何GGUF格式是本地部署的最佳选择,并逐步指导用户如何将非GGUF模型(如Transformers格式)转换为GGUF格式,以及在LM Studio中进行加载、配置GPU卸载等关键优化,最终实现流畅的本地离线对话体验。

weixin_29061425的博客 921

Spring AI提示词模板应用

本文介绍了使用SpringAI提示词模板的配置方法,主要步骤包括:1)在JDK17和SpringBoot3.4.4环境下引入spring-ai-alibaba1.0.0.2依赖;2)配置application.yml文件;3)创建测试控制器类处理提示词模板(.st文件);4)通过模板变量动态生成AI回复内容。演示了如何通过@RequestParam设置默认参数,实现无需前端传参即可测试AI回复功能,最终完成了一个SpringAI提示词模板的应用Demo。

wjianwei666的专栏 198

使用poi导入导出Excel(实测有效)

使用poi导入导出Excel

Memorial*的博客 5560

STM32Cube高效开发教程<基础篇>(一)----概述

一、 STM32系列器件和开发工具发展历史声明:本人水平有限,博客可能存在部分错误的地方,请广大读者谅解并向本人反馈错误。本专栏博客参考《STM32Cube高效开发教程(基础篇)》,有意向的读者可以购买正版书籍辅助学习,本书籍由王维波老师、鄢志丹老师、王钊老师倾力打造,书籍内容干货满满。一、 STM32系列器件和开发工具发展历史。

我的博客 187

Excle 报表导出得一点心得

Excle 导出 有很多现有得集成API,例如 easypoi,非常好用,尤其是使用 模板语法,简直是爽的不要不要的。如果 不想使用模板呢 ? 那就得自己使用原生得poi来操作了。 我这里介绍一种比较简单得方式,没有合并单元格。优点:1.数据填充灵活 2. 对于列 控制简单 ; 缺点:1. 列明设置有点傻 ,有待优化。 逻辑主要分三步:1.设置设置实体类(注意,实体类字段要和导出得...

I do more ,you do less 227

9.16华为OD机试真题 新系统 - 矩阵螺旋遍历 (Java/Py/C/C++/Js/Go)

9.16华为OD机试真题 新系统 - 矩阵螺旋遍历 (Java/Py/C/C++/Js/Go)

算法大师! 651

40、5G NR射频要求解析

本文详细解析了5G NR射频相关要求,包括参考灵敏度与动态范围的定义、接收机对干扰信号的抗扰性要求(如阻塞、邻道选择性等)、辐射射频要求在FR1和FR2频段的差异,以及多标准无线电基站(MSR)的发展及其对射频要求的影响。内容涵盖测试模型、干扰场景、具体指标和实现挑战,为理解和应用5G NR射频规范提供了全面指导。

qsc901234的博客 245

调用Excle组件导出,解决权限问题

“/”应用程序中的服务器错误。 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 8000401a 因为配置标识不正确,系统无法开始服务器进程。请检查用户名和密码。 (异常来自 HRESULT:0x8000401A)。 说明: 执行当前 Web 请求期间,出现未经处理的异常。请检...

292

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

HAPkendoUI的Excle导出

在Excle导出上,HAP使用的kendoUI进行导出,简单步骤如下 1.添加导出按钮 <span class="btn btn-primary pull-left" style="float:left;margin-right:5px;margin-left:5px;" data-bind="click:exportFunc"><@spring.message "...

weixin_33906657的博客 273

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

文件流方式导出EXcle

第一步前端代码:文件流方式导出EXcle不能用Ajax方式,要用 window.location.href 的方式  function HasReferToExcel() {                          if (confirm("系一次最多导出10000笔数据,是否继续?")) {                              window.location.h...

chenchon1的博客 1819

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

android导出数据到excle,可以导出图片

导出数据到excle,首先需要引入jxl.jar这个jar包, 导出的方法: /** * * @param datas 导出数据 * @param callBack 导出成功或失败回调 * @param dataName 导出excle名字 */ public static void exportData(List<PersonCardMessageEntity> da...

qq_35746390的博客 1544

Excle的导出功能

.net的Excle的导出功能 使用layui框的导出只能导出列表中当前页面中的数据,所以自己书写了一个使用后台的导出功能; 前端代码 <button class="layui-btn layui-btn-md layui-btn-normal layer-customer-btn btnStatistics" data-method="export"> ...

lanlande289的博客 234

导出excle表

如下图:

xzy的博客 596

axios中excle文件导出下载

EXCLE文件导出 1.post请求的封装 export function exportNbMeterInfoById(data = {}) { return req({ method: "post", url: "/wlsb/tbMeterInfo/exportNbMeterInfo", // 请求地址 data: data, // 参数 responseTy...

weixin_45424548的博客 303

java动态导出Excle模板

实际开发中很多时候都需要导出Excle模板文件,而且是根据不同的需求需要导出不同的模板,在这里简单记录一下使用java实现普通的动态Excle模板导出功能。 1.添加maven依赖: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactI...

Coder-文小白的博客 1177

vue中excle导出并兼容ie10+

1.解决思路:后台将excle模板转换成excle流,然后前端将接收到的excle流转化成excle文件,并下载下来; 2.前端实现的代码: 注:如果excle下载成功,但是打不开的话,首先一定要考虑一下,后台传过来的excle文件流是否正确,很大的可能是文件流不对,我就是被狠狠的坑了一把 ...

baoyingltt的博客 2459

java 导出数据为xls文件,导出Excle表格

之前记录了一下工作中用到的工具类。有一个POIUtil是用来导出数据为xls文件和word文档的。说要写一个demo的。 工具类传送门:导出数据为word文档或者excle的工具类 下面是我抽空写的一个小demo: /** * 导出xls文件测试 * @throws FileNotFoundException */ @Test public void exportExcle() throws FileNotFoundException { InputStream templInpu

ccyy 970
上一篇: List导出数据Excel
下一篇: excel 导入数据
windcoldice
博客等级 码龄18年 1粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值