javajson生成excel的簡單介紹

本文目錄一覽:

json格式怎麼轉換為excel格式

在線網頁工具行嗎,json轉換成excel

第一步是導入要轉換的json,然後一看就會,好用要採納哦~

java讀取json文件後如何轉成excel

因為java操作mongodb需要使用相關的orm驅動,所以你最好是讀取json數據後轉成java對象然後調用驅動方法存入到數據庫中即可。

java導出數據到excel的幾種方法的比較

Excel的兩種導出入門方法(JAVA與JS)

最近在做一個小項目作為練手,其中使用到了導出到Excel表格,一開始做的是使用JAVA的POI導出的,但因為我的數據是爬蟲爬出來的,數據暫時並不保存在數據庫或後台,所以直接顯示在HTML的table,需要下載時又要將數據傳回後台然後生成Excel文件,最後再從服務器下載到本地,過程幾度經過網絡傳輸,感覺比較耗時與浪費性能,於是想着在HTML中的Table直接導到Excel中節約資源

JAVA導出EXCEL(.xls)

導出Excel用的插件是apache的poi.jar,maven地址如下

dependency

groupIdorg.apache.poi/groupId

artifactIdpoi/artifactId

version3.17/version/dependency

1. 簡單應用

先來個簡化無樣式的Excel導出,由於我的數據存在JSON中,所以形參是JSONArray,朋友們根據自己的實際數據類型(Map,List,Set等)傳入即可 ,代碼如下

/**

* 創建excel並填入數據

* @author LiQuanhui

* @date 2017年11月24日 下午5:25:13

* @param head 數據頭

* @param body 主體數據

* @return HSSFWorkbook

*/

public static HSSFWorkbook expExcel(JSONArray head, JSONArray body) {        //創建一個excel工作簿

HSSFWorkbook workbook = new HSSFWorkbook();        //創建一個sheet工作表

HSSFSheet sheet = workbook.createSheet(“學生信息”);

//創建第0行表頭,再在這行里在創建單元格,並賦值

HSSFRow row = sheet.createRow(0);

HSSFCell cell = null;        for (int i = 0; i head.size(); i++) {

cell = row.createCell(i);

cell.setCellValue(head.getString(i));//設置值

}

//將主體數據填入Excel中

for (int i = 0, isize = body.size(); i isize; i++) {

row = sheet.createRow(i + 1);

JSONArray stuInfo = body.getJSONArray(i);            for (int j = 0, jsize = stuInfo.size(); j jsize; j++) {

cell = row.createCell(j);

cell.setCellValue(stuInfo.getString(j));//設置值

}

}        return workbook;

}

創建好Excel對象並填好值後(就是得到workbook),就是將這個對象以文件流的形式輸出到本地上去,代碼如下

/**

* 文件輸出

* @author LiQuanhui

* @date 2017年11月24日 下午5:26:23

* @param workbook 填充好的workbook

* @param path 存放的位置

*/

public static void outFile(HSSFWorkbook workbook,String path) {

OutputStream os=null;        try {

os = new FileOutputStream(new File(path));

workbook.write(os);

} catch (FileNotFoundException e1) {

e1.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}        try {

os.close();

} catch (IOException e) {

e.printStackTrace();

}

}

至此Excel的導出其實已經做完了。

2. 添加樣式後導出

但通常這並不能滿足我們的需求,因為通常是需要設置Excel的一些樣式的,如字體、居中等等,設置單元格樣式主要用到這個類(HSSFCellStyle)

HSSFCellStyle cellStyle = workbook.createCellStyle();

現在說說HSSFCellStyle都能幹些什麼

HSSFCellStyle cellStyle = workbook.createCellStyle();//創建單元格樣式對象1.設置字體

HSSFFont font = workbook.createFont();  //font.setFontHeight((short)12);//這個設置字體會很大

font.setFontHeightInPoints((short)12);//這才是我們平常在Excel設置字體的值

font.setFontName(“黑體”);//字體:宋體、華文行楷等等

cellStyle.setFont(font);//將該字體設置進去2.設置對齊方式

cellStyle.setAlignment(horizontalAlignment);//horizontalAlignment參考下面給出的參數

//以下是最常用的三種對齊分別是居中,居左,居右,其餘的寫代碼的時候按提示工具查看即可

HorizontalAlignment.CENTER

HorizontalAlignment.LEFT

HorizontalAlignment.RIGHT3.設置邊框

cellStyle.setBorderBottom(border); // 下邊框

cellStyle.setBorderLeft(border);// 左邊框

cellStyle.setBorderTop(border);// 上邊框

cellStyle.setBorderRight(border);// 右邊框

//border的常用參數如下

BorderStyle.NONE 無邊框

BorderStyle.THIN 細邊框

BorderStyle.MEDIUM 中等粗邊框

BorderStyle.THICK 粗邊框//其餘的我也描述不清是什麼形狀,有興趣的到時可以直接測試

在經過一系列的添加樣式之後,最後就會給單元格設置樣式

cell.setCellStyle(cellStyle);

3. 自動調整列寬

sheet.autoSizeColumn(i);//i為第幾列,需要全文都單元格居中的話,需要遍歷所有的列數

4. 完整的案例

public class ExcelUtils {    /**

* 創建excel並填入數據

* @author LiQuanhui

* @date 2017年11月24日 下午5:25:13

* @param head 數據頭

* @param body 主體數據

* @return HSSFWorkbook

*/

public static HSSFWorkbook expExcel(JSONArray head, JSONArray body) {

HSSFWorkbook workbook = new HSSFWorkbook();

HSSFSheet sheet = workbook.createSheet(“學生信息”);

HSSFRow row = sheet.createRow(0);

HSSFCell cell = null;

HSSFCellStyle cellStyle = workbook.createCellStyle();

setBorderStyle(cellStyle, BorderStyle.THIN);

cellStyle.setFont(setFontStyle(workbook, “黑體”, (short) 14));

cellStyle.setAlignment(HorizontalAlignment.CENTER);

for (int i = 0; i head.size(); i++) {

cell = row.createCell(i);

cell.setCellValue(head.getString(i));

cell.setCellStyle(cellStyle);

}

HSSFCellStyle cellStyle2 = workbook.createCellStyle();

setBorderStyle(cellStyle2, BorderStyle.THIN);

cellStyle2.setFont(setFontStyle(workbook, “宋體”, (short) 12));

cellStyle2.setAlignment(HorizontalAlignment.CENTER);        for (int i = 0, isize = body.size(); i isize; i++) {

row = sheet.createRow(i + 1);

JSONArray stuInfo = body.getJSONArray(i);            for (int j = 0, jsize = stuInfo.size(); j jsize; j++) {

cell = row.createCell(j);

cell.setCellValue(stuInfo.getString(j));

cell.setCellStyle(cellStyle2);

}

}        for (int i = 0, isize = head.size(); i isize; i++) {

sheet.autoSizeColumn(i);

}        return workbook;

}    /**

* 文件輸出

* @author LiQuanhui

* @date 2017年11月24日 下午5:26:23

* @param workbook 填充好的workbook

* @param path 存放的位置

*/

public static void outFile(HSSFWorkbook workbook,String path) {

OutputStream os=null;        try {

os = new FileOutputStream(new File(path));

workbook.write(os);

} catch (FileNotFoundException e1) {

e1.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}        try {

os.close();

} catch (IOException e) {

e.printStackTrace();

}

}    /**

* 設置字體樣式

* @author LiQuanhui

* @date 2017年11月24日 下午3:27:03

* @param workbook 工作簿

* @param name 字體類型

* @param height 字體大小

* @return HSSFFont

*/

private static HSSFFont setFontStyle(HSSFWorkbook workbook, String name, short height) {

HSSFFont font = workbook.createFont();

font.setFontHeightInPoints(height);

font.setFontName(name);        return font;

}    /**

* 設置單元格樣式

* @author LiQuanhui

* @date 2017年11月24日 下午3:26:24

* @param workbook 工作簿

* @param border border樣式

*/

private static void setBorderStyle(HSSFCellStyle cellStyle, BorderStyle border) {

cellStyle.setBorderBottom(border); // 下邊框

cellStyle.setBorderLeft(border);// 左邊框

cellStyle.setBorderTop(border);// 上邊框

cellStyle.setBorderRight(border);// 右邊框

}

}

POI的功能其實還是很強大的,這裡只介紹了Excel的一丁點皮毛給入門的查看,如果想對Excel進行更多的設置可以查看下面的這篇文章,有着大量的使用說明。

空谷幽瀾的POI使用詳解

JS導出EXCEL(.xls)

java的Excel導出提供了強大的功能,但也對服務器造成了一定資源消耗,若能使用客戶端的資源那真是太好了

1. 簡單應用

JS的導出Excel非常簡單,只需要引用Jquery和tableExport.js並設置一個屬性即可

script src=”%=basePath%/static/js/tableExport.js” type=”text/javascript”/scriptscript type=”text/javascript”

function exportExcelWithJS(){    //獲取要導出Excel的表格對象並設置tableExport方法,設置導出類型type為excel

$(‘#tableId’).tableExport({      type:’excel’

});

}/scriptbutton class=”btn btn-primary”  type=”button” style=”float: right;” onclick=”exportExcelWithJS()”下載本表格/button

JS的導出就完成了,是不是特別簡單

2. 進階應用

但上面僅僅是個簡單的全表無樣式的導出

這tableExport.js還有一些其他功能,忽略行,忽略列,設置樣式等,屬性如下

script type=”text/javascript”

function exportExcelWithJS(){    //獲取要導出Excel的表格對象並設置tableExport方法,設置導出類型type為excel

$(‘#tableId’).tableExport({      type:’excel’,//導出為excel

fileName:’2017工資表’,//文件名

worksheetName:’11月工資’,//sheet表的名字

ignoreColumn:[0,1,2],//忽略的列,從0開始算

ignoreRow:[2,4,5],//忽略的行,從0開始算

excelstyles:[‘text-align’]//使用樣式,不用填值只寫屬性,值讀取的是html中的

});

}/script

如上既是JS的進階導出,操作簡單,容易上手

但有個弊端就是分頁的情況下,只能導出分頁出的數據,畢竟這就是導出HTML內TABLE有的東西,數據在數據庫或後台的也就無能為力,所以這個適合的是無分頁的TABLE導出

3. 額外說明

tableExport.js是gitHub上的hhurz大牛的一個開源項目,需要下載該JS的可以點擊鏈接進入gitHub下載或在我的百度網盤下載 密碼:oafu

tableExport.js不僅僅是個導出Excel的JS,他還可以導出CSV、DOC、JSON、PDF、PNG、SQL、TSV、TXT、XLS (Excel 2000 HTML format)、XLSX (Excel 2007 Office Open XML format)、XML (Excel 2003 XML Spreadsheet format)、XML (Raw xml)多種格式,具體使用可以參考hhurz的使用介紹

本人在之前找了好幾個導出Excel的都有各種各樣的問題(亂碼,無響應,無樣式),這個是目前找到最好的一個了,能解決亂碼問題,能有樣式,非常強大

json和excel如何快速互轉,用這個工具可以輕鬆搞定!!

JSON的全稱是”JavaScript Object Notation”,意思是JavaScript對象表示法,它是一種基於文本,獨立於語言的輕量級數據交換格式。XML也是一種數據交換格式,為什麼沒有選擇XML呢?因為XML雖然可以作為跨平台的數據交換格式,但是在JS(JavaScript的簡寫)中處理XML非常不方便,同時XML標記比數據多,增加了交換產生的流量,而JSON沒有附加的任何標記,在JS中可作為對象處理,所以我們更傾向於選擇JSON來交換數據。

優點:易於人的閱讀和編寫,易於程序解析與生產。

excel是一種電子表格軟件,是微軟公司發布的辦公軟件office中的一個組成部分,最受歡迎的辦公軟件之一,日常辦公中製作處理表格的常用軟件。那麼json和excel之間有有什麼聯繫呢?其實標準的json數據是可以轉成excel表格方便閱讀的,excel是行列的數據表格也可以轉換成json格式數據。

今天我推薦一個十分不錯方便的在線網站工具,可以在線把json數據轉換成Excel表格,同時也可以把excel轉成json數據格式

只要把需要轉換的json複製到工具框內,秒轉成excel文件,同時需要把excel文件轉換成json數據,只需要點擊旁邊的工具即可

工具地址: JSON轉EXCEL文件 – GogoTools

json 數據怎麼導出excel

非json取解應元素通某些插件(jxl)excel文件百度網jxlexcel例

請問語言 js象弄java象 java發頁面看 其語言 c# php jsjava 用google gson簡單 java發js給頁面 直接循環拿

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/301006.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-29 14:19
下一篇 2024-12-29 14:19

相關推薦

  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的“畫筆”在窗口中繪製…

    編程 2025-04-29
  • 為什麼不能用Microsoft Excel進行Python編程?

    Microsoft Excel是一個廣泛使用的數據分析工具,但是它不能直接用於Python編程。這是因為Microsoft Excel並不是一個編程工具,它的主要功能是進行數據處理…

    編程 2025-04-29
  • Python櫻花樹代碼簡單

    本文將對Python櫻花樹代碼進行詳細的闡述和講解,幫助讀者更好地理解該代碼的實現方法。 一、簡介 櫻花樹是一種圖形效果,它的實現方法比較簡單。Python中可以通過turtle這…

    編程 2025-04-28
  • Python大神作品:讓編程變得更加簡單

    Python作為一種高級的解釋性編程語言,一直被廣泛地運用於各個領域,從Web開發、遊戲開發到人工智能,Python都扮演着重要的角色。Python的代碼簡潔明了,易於閱讀和維護,…

    編程 2025-04-28
  • 基尼係數Excel計算模板

    這篇文章將介紹基尼係數Excel計算模板,為大家詳細闡述如何使用Excel進行基尼係數的計算。 一、模板下載及導入 首先需要下載基尼係數的Excel計算模板,可以在Excel中通過…

    編程 2025-04-28
  • 用Python實現簡單爬蟲程序

    在當今時代,互聯網上的信息量是爆炸式增長的,其中很多信息可以被利用。對於數據分析、數據挖掘或者其他一些需要大量數據的任務,我們可以使用爬蟲技術從各個網站獲取需要的信息。而Pytho…

    編程 2025-04-28
  • 如何製作一個簡單的換裝遊戲

    本文將從以下幾個方面,為大家介紹如何製作一個簡單的換裝遊戲: 1. 遊戲需求和界面設計 2. 使用HTML、CSS和JavaScript開發遊戲 3. 實現遊戲的基本功能:拖拽交互…

    編程 2025-04-27
  • Guava Limiter——限流器的簡單易用

    本文將從多個維度對Guava Limiter進行詳細闡述,介紹其定義、使用方法、工作原理和案例應用等方面,並給出完整的代碼示例,希望能夠幫助讀者更好地了解和使用該庫。 一、定義 G…

    編程 2025-04-27

發表回復

登錄後才能評論