精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Java 導出 Excel 利器:JXLS

開發 開發工具
簡單的excel格式,用簡單的poi,easyExcel等工具都能導出。但是針對復雜的excel,有固定的樣式、合并單元格、動態列等各類要求,導致excel 導出需要花很大一部分精力去寫代碼。jxls在很大程度上解決了以上問題。

jxls是一個輕量級的Java庫,用于基于模板的Excel報表生成。

jxls作為一個開源工具,提供了一種高效且易于維護的方式來處理復雜的Excel導出需求。它允許用戶通過在Excel模板中放置特定的標記或注釋來定義數據的輸出格式和布局,從而避免了編寫大量重復且易出錯的代碼。

標注:簡單的excel格式,用簡單的poi,easyExcel等工具都能導出。但是針對復雜的excel,有固定的樣式、合并單元格、動態列等各類要求,導致excel 導出需要花很大一部分精力去寫代碼。jxls在很大程度上解決了以上問題。

以下是jxls的一些主要特點:

  • 簡單性: jxls的設計哲學是簡單和直觀,使得即使是初學者也能快速上手并使用它來創建復雜的Excel報表。
  • 靈活性: 通過在Excel模板中使用類似jsp的標簽,jXls提供了極高的靈活性,可以輕松地生成各種格式的報表。
  • 輕量級: 與其他Java Excel庫相比,jxls更加輕量,不會給項目增加太多的負擔。
  • 功能強大: jxls特別適合于處理包含固定樣式、合并單元格和動態列等復雜要求的Excel導出任務。
  • 易于維護: 使用jxls可以減少因手動編碼導致的維護成本和出錯概率,提高項目的可維護性。

添加jar

很高興在編寫文章時發現jxls的大版本升級了,所使用的jdk版本也來到了17。

對于原先的jxls2.x版本的使用者來說,新的構建器 API 取代了 JxlsHelperTransformerFactory 和 createTransformer() 方法也已被刪除。

Context 現在包含創建報表所需的所有信息。但數據以Map<String, Object> 的形式傳遞給 JxlsTemplateFiller

<dependency>
    <groupId>org.jxls</groupId>
    <artifactId>jxls-poi</artifactId>
    <version>3.0.0</version>
</dependency>

XlsArea 區域

Area是jXLS中的一個主要概念,它本質上代表了一個矩形區域,這個區域包含了需要進行數據轉換的單元格。每個Area可以包含一組轉換命令和一組嵌套的子區域,這些子區域也是Area,它們有自己的命令和子區域。

如下命令表示需要處理的區域為從A1至K列第4行:

jx:area(lastCell="K4")

創建報表

因為大版本的升級,我們不再使用如下方式:

Context context = new Context();
context.putVar("list", list);
JxlsHelper.getInstance().setEvaluateFormulas(evaluateFormulas).processTemplate(inputStream, outPutStream, context);

而是:

Map<String, Object> data = new HashMap<>();
data.put("employees", employees);
JxlsPoiTemplateFillerBuilder.newInstance()
        .withTemplate("template.xlsx")
        .build()
        .fill(data, new File("report.xlsx"));

循環

循環是用的最多的標簽,用于循環輸出各列數據:

jx:each(items="weeks" var="week"  lastCell="B4")

示例:

publicclassEmployee{
    private String name;
    private Date birthDate;
    private BigDecimal payment;
    private BigDecimal bonus;
    // getters/setters ...
    publicEmployee(String name, Date birthDate, double payment, double bonus){
        this(name, birthDate, new BigDecimal(payment), new BigDecimal(bonus));
    }
     public String getSalaryGroup(){
        return payment.doubleValue() > 2000d ? "high" : "normal";
    }
}

 List<Employee> employees = new ArrayList<>();
 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MMM-dd", Locale.US);
 employees.add(new Employee("Elsa", dateFormat.parse("1970-Jul-10"), 1500, 0.15));
 employees.add(new Employee("Oleg", dateFormat.parse("1973-Apr-30"), 2300, 0.25));
 employees.add(new Employee("John", dateFormat.parse("1970-Jul-10"), 3500, 0.10));
 employees.add(new Employee("Neil", dateFormat.parse("1975-Oct-05"), 2500, 0.00));
 employees.add(new Employee("Maria", dateFormat.parse("1978-Jan-07"), 1700, 0.15));
 employees.add(new Employee("John", dateFormat.parse("1969-May-30"), 2800, 0.20));
 employees.add(new Employee("Oleg", dateFormat.parse("1988-Apr-30"), 1500, 0.15));
 employees.add(new Employee("Maria", dateFormat.parse("1970-Jul-10"), 3000, 0.10));
 employees.add(new Employee("John", dateFormat.parse("1973-Apr-30"), 1000, 0.05));
return employees;

將模版編輯為如下:

圖片圖片

根據輸出報表查看結果。

1.multisheet 多sheet頁
jx:each(items="employees" var="e" multisheet="sheetNames" lastCell="B4")

圖片圖片

輸出:

圖片圖片

2.方向向右

默認值為 directinotallow=“DOWN”,將創建行。將使用 directinotallow=“RIGHT” 創建列。

您也可以為特殊情況設置自己的 cellRefGenerator,但在此不再進一步描述。

jx:each(items="e.departments" var="d" lastCell="D2" directinotallow="RIGHT")
3.索引

有時我們需要顯示循環的索引。使用屬性 varIndex 指定將保存從 0 開始的迭代索引的變量名稱。

jx:each(items="employees" var="e" varIndex="index" lastCell="C2")

顯示:

圖片圖片

4.過濾

只有選擇條件為 true 的項才會成為輸出的一部分。

jx:each(items="employees" var="e" select="e.payment > 2000" lastCell="C2")

圖片圖片

圖片圖片

5. 分組和分組排序

在屬性中指定 var name + “.” + 屬性名稱以對項目進行分組。還必須在屬性中指定 ASC、DESC此時將在組內部進行排序。

比如employee類中有salaryGroup(工資)方法來指定該人是否大于2000元。

示例代碼:

jx:each(items="employees" var="g" groupBy="g.salaryGroup" groupOrder="ASC" lastCell="C3")

示例圖:

圖片圖片

圖片圖片

判斷

jx:if 命令根據條件表達式顯示/隱藏單元格。這就像 Java 中的 if 或 if,else

jx:if(cnotallow="e.payment<2000" lastCell="C2" areas=["A2:C2","A3:C3"])

condition:如果表達式結果為真,則顯示區域,否則隱藏區域; 如果表達式結果不為 true,則顯示其他區域,否則隱藏其他區域。

圖片圖片

圖片圖片

動態行列

jx:grid 命令可用于生成具有標題區域和數據行區域的動態網格。

jx:grid(headers="headers" data="items" areas=["A3:A3","A4:A4"] formatCells="BigDecimal:C1,Date:D1" lastCell="A4")

圖片圖片

圖片圖片

合并單元格

jx:mergeCells(cols="" rows="" minCols="" minRows="" lastCell="C2")
  • cols: 組合列數
  • rows: 合并的行數
  • minCols: 要合并的最小列數
  • minRows: 要合并的最小行數
  • lastCell: 合并單元格范圍。

圖片

使用此命令將圖像添加到工作表中。

jx:image(src="image" lastCell="A2")
  • src: 返回包含圖像數據的 byte[] 數組的表達式
  • imageType: 可以包含以下值:PNG(默認值)、JPEG(非 JPG)、EMFWMFPICTDIB
  • scaleX和scaleY: 縮放參數(可選)
  • lastCell: 區域結束

excel 公式處理

參數化公式允許在公式中使用變量,必須將其括在$[ ] 符號中,比如我們需要把數據輸出的同時進行計算,比如我們數據中的比率值是1(excel上最終需要顯示為1%)。我們可以修改代碼為$[${item.taxRate}/100],其中${item.taxRate}表示我們自己的迭代變量,同時改變單元格樣式為百分比,此時輸出的值才會是1%

JXLS官網:https://jxls.sourceforge.net/

責任編輯:武曉燕 來源: 碼猿技術專欄
相關推薦

2021-03-11 08:24:48

Javapoi數據脫敏

2025-05-06 01:00:00

Excel高性能內存

2020-12-02 11:56:16

Java注解Excel

2025-11-05 08:23:56

2023-02-25 10:04:21

JavaExcel導出功能

2023-02-03 08:21:30

excelMySQL

2025-05-12 00:00:00

2020-09-22 09:41:09

前端

2012-04-28 10:50:51

jQuery

2024-09-12 17:23:02

2021-03-26 07:09:15

Java技術pdfExcel

2025-02-12 07:27:52

MySQL8分頁查詢excel

2022-09-21 08:16:18

緩存框架

2025-06-16 07:07:03

Java數據Jackson

2009-12-04 16:49:38

PHP導出Excel亂

2022-12-29 08:49:40

SpringBootExcel

2010-07-21 14:17:36

SQL Server數

2009-06-16 14:09:00

Netbeans介紹

2022-05-12 08:32:25

JavaArthas阿爾薩斯

2015-08-21 09:56:17

Java內存分析MAT使用
點贊
收藏

51CTO技術棧公眾號

国产精品精品软件视频| 日韩精品久久久久| 天天操天天干天天玩| 国产欧美熟妇另类久久久| 欧美精品aa| 精品亚洲男同gayvideo网站| 亚洲 欧美 日韩系列| 黄色小网站在线观看| 风间由美一区二区三区在线观看| 欧美亚洲伦理www| 久久嫩草捆绑紧缚| 国产精品毛片久久久| 在线国产电影不卡| 免费的一级黄色片| 成人精品一区二区三区免费| 国产精品2024| 国产精品欧美久久久| 激情综合五月网| 国产一区二区三区不卡视频网站| 91精品国产免费久久综合| 日韩精品 欧美| 毛片在线看网站| 91丨porny丨蝌蚪视频| 亚洲va欧美va在线观看| 无码人妻久久一区二区三区 | 国产一区二区三区在线视频 | 在线观看视频二区| 亚洲久久一区| 欧美猛交ⅹxxx乱大交视频| japanese中文字幕| 美女一区二区在线观看| 91精品国产综合久久久蜜臀图片 | 韩国v欧美v亚洲v日本v| 日本国产高清不卡| 国产精品变态另类虐交| 日韩综合精品| 亚洲无线码在线一区观看| 亚洲国产精品狼友在线观看| 欧美va在线观看| 黄色成人在线播放| 免费看黄色a级片| 欧美人xxx| 国产精品免费视频观看| 免费毛片一区二区三区久久久| 精品国产亚洲AV| 久99久精品视频免费观看| 国产精品久久久av久久久| 中文字幕激情小说| 国产欧美另类| 午夜精品久久久久久久白皮肤 | 91成人免费在线| 久久综合久久色| 成人性生交大片免费网站| 欧美日韩激情美女| 凹凸国产熟女精品视频| 三级在线看中文字幕完整版| 亚洲成人午夜电影| 成人一区二区免费视频| 超级白嫩亚洲国产第一| 亚洲成a人片综合在线| 国产毛片久久久久久国产毛片| 99视频免费在线观看| 亚洲色图视频网| 浴室偷拍美女洗澡456在线| 免费在线你懂的| 亚洲色图另类专区| 肉大捧一出免费观看网站在线播放 | 亚洲二区自拍| jizz在线免费观看| 国产精品久久久爽爽爽麻豆色哟哟| 视频一区二区在线| 日韩免费啪啪| 亚洲码国产岛国毛片在线| 无码人妻精品一区二区三区99v| 性欧美videos高清hd4k| 夜夜操天天操亚洲| 极品美女扒开粉嫩小泬| 范冰冰一级做a爰片久久毛片| 欧美在线看片a免费观看| 天天操,天天操| 日本免费一区二区视频| 亚洲大胆人体在线| 精品人伦一区二区| 国产精品久久久久久麻豆一区软件 | 日韩久久久精品| 无遮挡aaaaa大片免费看| 精品成人影院| 久久天天躁狠狠躁夜夜av| 国产一级在线视频| 丝袜亚洲精品中文字幕一区| 国产日韩在线看| 国内爆初菊对白视频| 久久久青草青青国产亚洲免观| 亚洲一区二区三区精品动漫| 婷婷色在线资源| 色综合天天综合给合国产| 亚洲一区二区三区四区五区| av在线亚洲色图| 在线精品国产欧美| 免费一级黄色大片| 人人爽香蕉精品| 99久久精品无码一区二区毛片| 手机看片福利在线观看| 国产精品久久久久桃色tv| www.av蜜桃| 国产黄色一区| 亚洲精品456在线播放狼人| 亚洲不卡的av| 中文日韩欧美| 91成人伦理在线电影| 精品电影在线| 亚洲午夜在线观看视频在线| 538在线视频观看| 久久99国产精品久久99大师 | 日韩午夜小视频| 成人h动漫精品一区| 亚洲精品二区三区| 国产ts一区二区| 日本高清视频网站| 亚洲欧洲国产日韩| 日韩精品一区中文字幕| 成人在线tv视频| 久久国产精品偷| 亚洲一级av毛片| 久久人人超碰精品| 精品久久久久久无码中文野结衣| 四虎国产精品免费久久5151| 精品一区电影国产| 亚欧视频在线观看| 国产高清久久久久| 艳母动漫在线观看| 日本成人在线网站| 国产亚洲欧美另类中文| 日韩视频在线观看一区| 国产+成+人+亚洲欧洲自线| 在线观看国产一区| 欧美亚洲福利| 色av吧综合网| 在线视频精品免费| 久久精品日产第一区二区三区高清版| 国产精品久久久久7777| 日韩欧美激情电影| 欧美另类精品xxxx孕妇| 99国产精品久久久久99打野战| 国产精品三级在线观看| 亚洲三级视频网站| 精品国产一区二区三区久久久樱花 | 大胆人体一区二区| 精品无人区太爽高潮在线播放 | 丁香花在线观看完整版电影| 99久久久精品免费观看国产蜜| 潘金莲一级淫片aaaaaa播放1| www.久久.com| 亚洲人成电影网| 91精品国产高清一区二区三密臀| 成人av网站免费| 美脚丝袜脚交一区二区| 超碰成人福利| 久久人人爽人人| 天堂8在线视频| 欧美日韩色婷婷| 欧美特黄一区二区三区| 日日摸夜夜添夜夜添国产精品 | 免费观看黄色一级视频| 亚洲国产精品尤物yw在线观看| 亚洲婷婷在线观看| 一本久道久久综合狠狠爱| 国产精品国产三级国产普通话对白| 久久精品水蜜桃av综合天堂| 日本黄网站免费| 欧美亚洲在线日韩| 91久久夜色精品国产按摩| 中文字幕亚洲无线码a| 一区二区视频播放| 亚洲三级久久久| 一级黄色电影片| 国产精品毛片一区二区三区| 欧美亚洲另类在线一区二区三区| 国产原创一区| 欧美第一黄色网| 日韩av资源站| 欧美日韩国产乱码电影| 九九热精彩视频| 久久综合狠狠综合久久激情| 日本不卡一区二区在线观看| 女人天堂亚洲aⅴ在线观看| 国产有色视频色综合| 91精品影视| 欧美精品免费在线| 欧美香蕉爽爽人人爽| 欧美日韩黄视频| 日韩三级av在线| 国产精品美女久久久久久2018| 免费欧美一级片| 久久综合伊人| a级片一区二区| 国产一区二区三区网| 91久久在线播放| 成人片免费看| 色综合久久悠悠| 国际av在线| 天堂中文在线官网| 国产日韩欧美麻豆| 亚洲av综合色区无码另类小说| 99热免费精品| 麻豆md0077饥渴少妇| 婷婷成人综合| 北条麻妃高清一区| 成人国产网站| 456亚洲影院| 99热国产在线中文| 中文字幕精品国产| 欧美黄色小说| 亚洲国产91精品在线观看| 中文天堂在线资源| 午夜精品视频一区| 黄色a级片在线观看| 欧美激情一区在线| 日本69式三人交| 国产乱子伦视频一区二区三区| 污污视频网站免费观看| 亚洲精品国产日韩| 日韩成人手机在线| 久久久人成影片免费观看| 日本一区二区三区视频在线观看| 91精品免费看| 97成人资源| 色综合色综合网色综合| 天堂中文8资源在线8| 国产一区二区三区视频免费| 五月婷中文字幕| 精品国产免费人成电影在线观看四季| 96亚洲精品久久久蜜桃| 欧美伊人精品成人久久综合97| 国产精品一区二区三区四| 午夜精品一区二区三区三上悠亚| 九九免费精品视频| 夜夜精品视频一区二区| 男人操女人的视频网站| 亚洲少妇中出一区| 欧美日韩黄色网| 亚洲视频网在线直播| www.av免费| 亚洲免费电影在线| 国产精品 欧美激情| 亚洲视频一区二区在线| 在线免费日韩av| 亚洲乱码精品一二三四区日韩在线| 欧美xxxooo| 亚洲特黄一级片| 久草免费在线观看视频| 亚洲一区二区精品久久av| 青青草手机在线观看| 亚洲狠狠丁香婷婷综合久久久| 欧美国产精品一二三| 亚洲乱码国产乱码精品精的特点 | 美女毛片在线看| 亚洲人成在线观| wwwxxx在线观看| 日韩中文字幕在线看| 97影院秋霞午夜在线观看| 欧美高跟鞋交xxxxhd| 24小时免费看片在线观看| 97婷婷大伊香蕉精品视频| 精品国产第一福利网站| av一级久久| 久久久久久久久久国产| 丁香花视频在线观看| 91精品国产九九九久久久亚洲| 亚洲一级少妇| 国产精品黄色av| 99tv成人影院| 国产精品v欧美精品v日韩| 清纯唯美亚洲经典中文字幕| 欧美日韩国产精品一卡| 俺要去色综合狠狠| 99re6这里有精品热视频| 亚洲黄页一区| 无码人妻丰满熟妇区毛片| 国产精品久久999| 亚洲ⅴ国产v天堂a无码二区| 国产欧美日韩在线看| 欧美成人久久久免费播放| 亚洲精品免费在线| 日操夜操天天操| 在线视频一区二区三| 国产精品爽爽久久久久久| 精品国产一区二区亚洲人成毛片| 日韩在线免费播放| 色妞欧美日韩在线| caoporn-草棚在线视频最| 国产精品黄色av| 国产精品x8x8一区二区| 日本一区高清在线视频| 亚洲国产一区二区在线观看| 91成人在线观看喷潮教学| 免费看精品久久片| 欧洲成人午夜精品无码区久久| 久久免费看少妇高潮| 国产女片a归国片aa| 欧美性猛交xxxx免费看| 国产片在线播放| 亚洲欧洲国产精品| av免费在线观| 国产精品久久久久久久久久ktv| 亚洲五码在线| 亚洲一区二区在| 久久久久.com| 毛茸茸free性熟hd| 亚洲欧美日韩小说| 日本中文字幕在线| 日韩欧美卡一卡二| se在线电影| 国产成人精品在线视频| 成人精品毛片| 国产日韩欧美大片| 日本欧美一区二区在线观看| 亚洲欧美日韩偷拍| 一二三区精品视频| 国产裸体无遮挡| 中文字幕日韩欧美在线视频| 天堂av在线| 99se婷婷在线视频观看| 希岛爱理一区二区三区| 91热这里只有精品| 久久婷婷一区二区三区| 日韩视频免费观看高清| 日韩美女一区二区三区四区| 国产在线观看免费麻豆| 国产精品一久久香蕉国产线看观看| 亚洲免费成人av在线| 日本www在线视频| 成人亚洲一区二区一| 欧美日韩人妻精品一区二区三区| 欧美日韩国产美| 免费在线观看av片| 91污在线观看| 中国xxxx性xxxx产国| 一区二区三区在线观看网站| 一级黄色片在线观看| 中文字幕日韩欧美| 日本美女久久| 亚洲欧美日韩精品在线| 青青青爽久久午夜综合久久午夜| av黄色在线免费观看| 在线亚洲免费视频| 精品欧美不卡一区二区在线观看| 欧美一级大片视频| 亚洲春色h网| 国产欧美高清在线| 国产清纯在线一区二区www| 久久久蜜桃一区二区| 亚洲天堂av网| 成人自拍视频网| 色爱区成人综合网| 免费在线视频一区| 天堂av免费在线| 日韩午夜激情视频| 国产羞羞视频在线播放| 国产一区二区三区av在线| 亚洲国产第一| 无码熟妇人妻av| 精品视频资源站| a级毛片免费观看在线| 97se视频在线观看| 亚洲福利久久| 91l九色lporny| 91麻豆精品国产91久久久久久 | 免费在线观看一区二区三区| 中文字幕一区二区三区人妻不卡| 欧美日韩激情视频8区| 黑人与亚洲人色ⅹvideos| 国产精品国产福利国产秒拍| av不卡免费在线观看| 99热这里只有精品2| 洋洋av久久久久久久一区| 丰满少妇高潮在线观看| 国模gogo一区二区大胆私拍| 天堂在线精品| 在线观看免费污视频| 亚洲精品乱码久久久久久久久 | 国产精品 欧美精品| 日韩高清精品免费观看| 国产亚洲欧洲高清| 欧美专区一区| 一区二区传媒有限公司| 国产精品欧美久久久久一区二区| 99热在线只有精品| 欧美最猛性xxxx| 我不卡手机影院| 久久久久亚洲AV成人无码国产| 欧美性猛交xxxx乱大交退制版| 一级淫片在线观看| 日韩理论电影| 成人高清在线观看视频| 黑人精品xxx一区| 国产黄色在线免费观看| 免费看成人午夜电影| 国产精品一区免费视频| 尤物视频免费观看|