国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

easyexcel poi根據(jù)模板導(dǎo)出Excel

這篇具有很好參考價(jià)值的文章主要介紹了easyexcel poi根據(jù)模板導(dǎo)出Excel。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1.導(dǎo)入依賴(lài)

<!--    poi依賴(lài)-->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>4.0.1</version>
</dependency>
<!--    poi對(duì)于excel 2007的支持依賴(lài)-->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>4.0.1</version>
</dependency>
<!--    poi對(duì)于excel 2007的支持依賴(lài)-->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml-schemas</artifactId>
    <version>4.0.1</version>
</dependency>

2.代碼實(shí)現(xiàn)

package com.example.exceldemo;

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.core.io.ClassPathResource;

import java.io.*;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;

public class EasyExcelTest {

    public static void main(String[] args) throws Exception {
        InputStream fis = null;
        OutputStream outputStream= null;
        Workbook wb = null;
        try {
            String fileName = "測(cè)試單位"+ UUID.randomUUID() + ".xlsx";
            String filePath = "D:\\report\\"+fileName;
            //1.獲取數(shù)據(jù)
            List<ExcelVo> list = new ArrayList<>();
            list.add(new ExcelVo(1,"1221","黃山"));
            list.add(new ExcelVo(2,"3333","河水"));
            list.add(new ExcelVo(3,"6666","青石"));

            //2.獲取模板
            fis = new ClassPathResource("templates/report_template.xlsx").getInputStream();
            File file=new File(filePath);
            if (!file.exists()) {
                file.createNewFile();
            }
            outputStream = new FileOutputStream(file);

            //3.根據(jù)模板創(chuàng)建工作簿
            wb = new XSSFWorkbook(fis);

            //4.讀取工作表
            Sheet sheet = wb.getSheetAt(0);
            CellStyle styles[] = new CellStyle[row.getLastCellNum()];

            //5.抽取第2行的公共樣式 , 因?yàn)榈谝恍?為標(biāo)題 第2行是數(shù)據(jù) 下標(biāo)為1
            Row row = sheet.getRow(1);
            CellStyle styles[] = new CellStyle[row.getLastCellNum()];
            Cell cell = null;
            for (int i = 0; i < row.getLastCellNum(); i++) {
                cell = row.getCell(i);
                styles[i] = cell.getCellStyle();
            }

            //5.構(gòu)造單元格
            int rowIndex=1;
            //方式一 手動(dòng)
            for (ExcelVo vo2:list) {
                //創(chuàng)建每一行,同excel的第二行開(kāi)始
                row= sheet.createRow(rowIndex++);
                //第一列
                int i=0;
                cell = row.createCell(i++);
                cell.setCellStyle(styles[0]);
                cell.setCellValue(vo2.getId());//寫(xiě)入數(shù)據(jù) 序號(hào)

                //第二列
                cell = row.createCell(i++);
                cell.setCellStyle(styles[0]);
                cell.setCellValue(vo2.getCode());

                //第三列(注:最后一列不用i++,前面的必須i++)
                cell = row.createCell(i);
                cell.setCellStyle(styles[0]);
                cell.setCellValue(vo2.getName());
            }

            //方式二 動(dòng)態(tài)
            for (ExcelVo t:list) {
                //創(chuàng)建每一行,同excel的第二行開(kāi)始
                row = sheet.createRow(rowIndex++);

                Field[] fields=t.getClass().getDeclaredFields();//獲取filed
                for (int i = 0; i < fields.length; i++) {
                    Field field=fields[i];
                    field.setAccessible(true);//設(shè)置私有屬性可以訪問(wèn)
                    Object val = field.get(t);//獲取值
                    if (val==null)val="";
                    cell = row.createCell(i);
                    cell.setCellStyle(styles[0]);//設(shè)置單元格樣式
                    cell.setCellValue(val.toString());//寫(xiě)入數(shù)據(jù)
                }
            }

            wb.write(outputStream);//寫(xiě)入數(shù)據(jù)
        } catch (Exception e) {
            throw new Exception(e);
        } finally {
            fis.close();
            wb.close();
            outputStream.close();
        }
    }
}



3.模板

easyexcel poi根據(jù)模板導(dǎo)出Excel,easyexcel,java,筆記

參考:https://blog.csdn.net/weixin_45742032/article/details/119593288?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-119593288-blog-86538258.235%5Ev38%5Epc_relevant_anti_t3_base&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-119593288-blog-86538258.235%5Ev38%5Epc_relevant_anti_t3_base&utm_relevant_index=2文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-689903.html

到了這里,關(guān)于easyexcel poi根據(jù)模板導(dǎo)出Excel的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • java根據(jù)excel模板進(jìn)行導(dǎo)出數(shù)據(jù)

    java根據(jù)excel模板進(jìn)行導(dǎo)出數(shù)據(jù)

    ?一、pom文件添加以下依賴(lài) 二、添加util包 三、在resources目錄下添加template并添加xlsx模板 ?注意:xlsx模板使用${list.XXX}? ? ?XXX表示數(shù)據(jù)源list(map形式的list)的數(shù)據(jù)key值,如果list是對(duì)象形式的,那么就是該業(yè)務(wù)字段 ?四、業(yè)務(wù)層使用:

    2024年02月11日
    瀏覽(28)
  • 使用POI和EasyExcel來(lái)實(shí)現(xiàn)excel文件的導(dǎo)入導(dǎo)出

    使用POI和EasyExcel來(lái)實(shí)現(xiàn)excel文件的導(dǎo)入導(dǎo)出

    廢話不多說(shuō)咱們直接上干貨?。。?! 一.讀取Excel表格 【1】使用POI讀取excel表格中的數(shù)據(jù) POI還可以操作我們這個(gè)word文檔等等,他不僅僅只能弄Excel,而JXI只能操作excel 1.POI的結(jié)構(gòu),我們可以更具文件的類(lèi)去選擇 相關(guān)的對(duì)象我當(dāng)前是使用的XLSX來(lái)操作的 HSSF - 提供讀寫(xiě)Microsoft

    2024年02月05日
    瀏覽(26)
  • Poi實(shí)現(xiàn)根據(jù)word模板導(dǎo)出-圖表篇

    Poi實(shí)現(xiàn)根據(jù)word模板導(dǎo)出-圖表篇

    往期系列傳送門(mén): Poi實(shí)現(xiàn)根據(jù)word模板導(dǎo)出-文本段落篇 (需要完整代碼的直接看最后位置?。。。?前言: 補(bǔ)充Word中圖表的知識(shí): 每個(gè)圖表在word中都有一個(gè)內(nèi)置的Excel,用于操作數(shù)據(jù)。 內(nèi)置Excel有類(lèi)別、系列、值三個(gè)概念: poi可以獲取word中的圖表對(duì)象,通過(guò)這個(gè)圖表對(duì)象來(lái)

    2024年02月02日
    瀏覽(37)
  • Android 基于POI庫(kù),根據(jù)模板導(dǎo)出word文檔

    Android 基于POI庫(kù),根據(jù)模板導(dǎo)出word文檔

    由于項(xiàng)目需求,需要根據(jù)用戶提供的word模板,填充動(dòng)態(tài)內(nèi)容生成新的word,為了記錄自己的踩坑日記,記錄一下。 Apache POI 是用Java編寫(xiě)的免費(fèi)開(kāi)源的跨平臺(tái)的 Java API,Apache POI提供API給Java程序?qū)ξ臋n讀和寫(xiě)的功能。 這里給出官網(wǎng)鏈接-POI官網(wǎng),同時(shí)下載版本也在官網(wǎng)鏈接中,可

    2024年01月18日
    瀏覽(23)
  • ExcelExportUtil基于模板導(dǎo)出excel&POI導(dǎo)出excel

    第一步,導(dǎo)入依賴(lài)沒(méi)啥好說(shuō)的; 第二步,查詢數(shù)據(jù)庫(kù)或es數(shù)據(jù)組裝成list對(duì)象; 第三步,填充MapString, Object excelMap = new HashMap(); 數(shù)據(jù)key和excel模板對(duì)應(yīng),如果一次導(dǎo)出多個(gè),可以用index區(qū)分; 第一步,導(dǎo)入依賴(lài) 第二步,上圖哈哈 就是這么簡(jiǎn)單 沒(méi)了

    2024年02月12日
    瀏覽(21)
  • EasyExcel+POI制作帶有有效性校驗(yàn)及下拉聯(lián)動(dòng)的Excel模板

    EasyExcel+POI制作帶有有效性校驗(yàn)及下拉聯(lián)動(dòng)的Excel模板

    最近在做一個(gè)CRM系統(tǒng)的人員銷(xiāo)售目標(biāo)導(dǎo)入的相關(guān)需求,需要將銷(xiāo)售人員的目標(biāo)導(dǎo)入到系統(tǒng)中,就要求在Excel導(dǎo)入模板中 填寫(xiě)銷(xiāo)售人員Id 和銷(xiāo)售人員姓名。在使用的時(shí)候,這是一個(gè)易錯(cuò)的點(diǎn),因?yàn)檫@兩個(gè)字段交給了使用者去自由填寫(xiě)的話,是很容易填錯(cuò)的。除了文字本身填多填

    2024年02月11日
    瀏覽(24)
  • 使用easyexcel填充模板數(shù)據(jù),并導(dǎo)出excel

    使用easyexcel填充模板數(shù)據(jù),并導(dǎo)出excel

    導(dǎo)出excel功能非常場(chǎng)景,本片文章記錄如何使用模板填充數(shù)據(jù)后再導(dǎo)出。因直接導(dǎo)出excel數(shù)據(jù)樣式不符合要求,所以做了模板填充然后再導(dǎo)出excel。 效果如下: 注意:列表數(shù)據(jù)變量名前面要寫(xiě)點(diǎn){.id},如果單條數(shù)據(jù)可以不寫(xiě)。 使用表單提交: 實(shí)體代碼: controller代碼: 只對(duì)je

    2024年03月11日
    瀏覽(23)
  • 使用原生POI和EasyPoi根據(jù)word模板導(dǎo)出word工具類(lèi)

    使用原生POI和EasyPoi根據(jù)word模板導(dǎo)出word工具類(lèi)

    前兩天接了個(gè)需求,要求將數(shù)據(jù)導(dǎo)出成word,里邊有邊個(gè),有其他的東西,怎么說(shuō)這,這個(gè)需求最開(kāi)始就是上傳word,下載附件就行了,非得改成上傳數(shù)據(jù)然后支持下載word。有股脫褲子放屁的感覺(jué) 而且呢,當(dāng)時(shí)做的時(shí)候前任開(kāi)發(fā)在數(shù)據(jù)庫(kù)存了一個(gè)巨大的Json文件,解析也挺費(fèi)勁的

    2024年01月25日
    瀏覽(19)
  • EasyExcel導(dǎo)出帶下拉選數(shù)據(jù)的Excel數(shù)據(jù)導(dǎo)入模板

    EasyExcel導(dǎo)出帶下拉選數(shù)據(jù)的Excel數(shù)據(jù)導(dǎo)入模板

    #因?yàn)轫?xiàng)目中需要導(dǎo)入一些信息,但是這些信息比較不常見(jiàn),且在項(xiàng)目字典數(shù)據(jù)中維護(hù)有這些數(shù)據(jù),所以在導(dǎo)出模板的時(shí)候,把這些數(shù)據(jù)一并導(dǎo)出,可以減少用戶的編寫(xiě),避免在導(dǎo)入的時(shí)候因?yàn)閿?shù)據(jù)錯(cuò)誤,發(fā)生一些業(yè)務(wù)問(wèn)題 直接開(kāi)始 1、以崗位類(lèi)型為例,展示數(shù)據(jù)的實(shí)現(xiàn)方式

    2024年02月03日
    瀏覽(32)
  • java解析excel,poi和easyExcel

    java解析excel,poi和easyExcel

    做項(xiàng)目遇到上傳excel并解析excel內(nèi)容組裝成結(jié)構(gòu)話json,網(wǎng)上查了很多方法,做了poi和easyExcel兩個(gè)方法的對(duì)比 兩者都可以解析excel文件,但是兩個(gè)也有不同: 一、poi 官方說(shuō)明:https://poi.apache.org/components/index.html A、03版excel和07版excel: 1)03版excel最多65536行,最大列數(shù)是256列,

    2023年04月22日
    瀏覽(24)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包