1. 程式人生 > >JXL匯出EXCEL合併單元格

JXL匯出EXCEL合併單元格

圖片
這裡寫圖片描述

import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletResponse;

import jxl.CellView;
import jxl.Workbook;
import jxl.biff.DisplayFormat;
import jxl.format.Alignment;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import
jxl.format.VerticalAlignment; import jxl.write.Label; import jxl.write.NumberFormats; import jxl.write.WritableCellFormat; import jxl.write.WritableFont; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; public final static void buildExcel4(OutputStream outStream, String mainTitle, String[] titles, List<String> contents) { int
beginRow = 0; try { /** **********建立工作簿************ */ WritableWorkbook workbook = Workbook.createWorkbook(outStream); /** **********建立工作表************ */ WritableSheet sheet = workbook.createSheet("sheet", 0); /** **********設定縱橫列印(預設為縱打)、列印紙***************** */
SheetSettings sheetset = sheet.getSettings(); sheetset.setProtected(false); /** ************設定單元格字型************** */ WritableFont NormalFont = new WritableFont(WritableFont.ARIAL, 10); WritableFont BoldFont = new WritableFont(WritableFont.ARIAL, 10, WritableFont.BOLD); /** ************以下設定三種單元格樣式************ */ // 用於標題居中 WritableCellFormat wcf_center = new WritableCellFormat(BoldFont); wcf_center.setBorder(Border.ALL, BorderLineStyle.THIN); // 線條 wcf_center.setVerticalAlignment(VerticalAlignment.CENTRE); // 文字垂直對齊 wcf_center.setAlignment(Alignment.CENTRE); // 文字水平對齊 wcf_center.setWrap(false); // 文字是否換行 // 用於正文居左 WritableCellFormat wcf_left = new WritableCellFormat(NormalFont); wcf_left.setBorder(Border.ALL, BorderLineStyle.THIN); // 線條 wcf_left.setVerticalAlignment(VerticalAlignment.CENTRE); // 文字垂直對齊 wcf_left.setAlignment(Alignment.CENTRE); // 文字水平對齊 wcf_left.setWrap(false); // 文字是否換行 // excel大標題 if (mainTitle != null && !mainTitle.equals("")) { sheet.mergeCells(0, 0, titles.length - 1, 0); sheet.addCell(new Label(0, 0, mainTitle, wcf_center)); beginRow = beginRow + 1; } /** ***************以下是EXCEL第一行列標題********************* */ if (titles != null && titles.length > 1) { for (int i = 0; i < titles.length; i++) { sheet.addCell(new Label(i, 1, titles[i], wcf_center)); } beginRow = beginRow + 1; } /** ***************以下是EXCEL正文資料********************* */ sheet.addCell(new Label(0, 2, "1", wcf_left)); sheet.addCell(new Label(1, 2, "建立紅包數", wcf_left)); sheet.addCell(new Label(2, 2, "建立紅包數", wcf_left)); sheet.addCell(new Label(3, 2, "10", wcf_left)); sheet.addCell(new Label(4, 2, "100", wcf_left)); sheet.addCell(new Label(0, 3, "2", wcf_left)); sheet.addCell(new Label(1, 3, "收入", wcf_left)); sheet.addCell(new Label(2, 3, "發放的紅包總額", wcf_left)); sheet.addCell(new Label(3, 3, "10", wcf_left)); sheet.addCell(new Label(4, 3, "100", wcf_left)); sheet.addCell(new Label(0, 4, "3", wcf_left)); sheet.addCell(new Label(1, 4, "收入", wcf_left)); sheet.addCell(new Label(2, 4, "小計", wcf_left)); sheet.addCell(new Label(3, 4, "10", wcf_left)); sheet.addCell(new Label(4, 4, "100", wcf_left)); //合併單元格 sheet.mergeCells(1, 3, 1, 4); sheet.addCell(new Label(0, 5, "4", wcf_left)); sheet.addCell(new Label(1, 5, "支出", wcf_left)); sheet.addCell(new Label(2, 5, "失效紅包總額", wcf_left)); sheet.addCell(new Label(3, 5, "1", wcf_left)); sheet.addCell(new Label(4, 5, "10", wcf_left)); sheet.addCell(new Label(0, 6, "5", wcf_left)); sheet.addCell(new Label(1, 6, "支出", wcf_left)); sheet.addCell(new Label(2, 6, "使用紅包總額", wcf_left)); sheet.addCell(new Label(3, 6, "3", wcf_left)); sheet.addCell(new Label(4, 6, "30", wcf_left)); sheet.addCell(new Label(0, 7, "6", wcf_left)); sheet.addCell(new Label(1, 7, "支出", wcf_left)); sheet.addCell(new Label(2, 7, "小計", wcf_left)); sheet.addCell(new Label(3, 7, "4", wcf_left)); sheet.addCell(new Label(4, 7, "40", wcf_left)); //合併單元格 sheet.mergeCells(1, 5, 1, 7); sheet.addCell(new Label(0, 8, "7", wcf_left)); sheet.addCell(new Label(1, 8, "剩餘紅包數", wcf_left)); sheet.addCell(new Label(2, 8, "未使用紅包總額", wcf_left)); sheet.addCell(new Label(3, 8, "7", wcf_left)); sheet.addCell(new Label(4, 8, "70", wcf_left)); sheet.setColumnView(1, 20); sheet.setColumnView(2, 20); sheet.setColumnView(3, 20); sheet.setColumnView(4, 20); sheet.setColumnView(5, 20); } workbook.write(); workbook.close(); } catch (Exception e) { e.printStackTrace(); } }

相關推薦

JXL匯出EXCEL合併單元

圖片 import java.io.OutputStream; import java.util.ArrayList; import java.util.List; import java.util.Map; import javax.servlet.h

JXL匯出EXCEL合併單元、文字對齊方式

這次能做出來,主要是感謝各位在網上提供的資料,在此記錄 匯出的結果是,大家看哈,若有可取之處可繼續 程式碼比較多,大家主要看哈我用紅色標註部分即可 --------------------------------------------------------------

java匯出Excel合併單元

網上java匯出excel表格併合並單元格的資料不完全,我整理了一份,並親測能用,附截圖。 ①java匯出excel用到POI所有jar包,大家可以直接到下面地址下載點選開啟連結 ②模擬資料類 package org; public class WorkSheetDet

POI匯出Excel--合併單元

package com.test.util; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io

POI匯出Excel設定單元格式2--建立與設定Excel合併單元

POI建立與設定Excel合併單元格 話不多說上栗子 //準備工作 XSSFWorkbook wb = new XSSFWorkbook(); Sheet sheet = wb.createSheet("sheet1"); XSSFCreationHelper creationHel

Java-poi匯入excel合併單元

要匯入的excel示例 一、Action @Action("/import-excel") public void toimport() { String root = ServletActionContext.getSer

讓我頭疼一下午的Excel合併單元

Excel匯出常見問題 excel匯出其實不算什麼難事 在網上copy下模板程式碼,填充自己的業務資料,提供一個http介面基本就可以得到你要匯出的資料了。 但是,凡事都有例外,截止今天,excel匯出我遇到的主要是兩大類問題 1、大資料量的excel資料,比如幾十萬條甚至更多的資料匯出 2、因為excel中

poi框架匯出excel單元遇到精度問題

背景: java系統,MySql資料庫,定義有些資料格式為Decimal(24,2),即最多整數22位,小數2位,或者Decimal(24,4),即最多整數20位,小數4位的數字。系統內部操作使用BigDecimal來記錄和操作這樣的資料,並無不妥,也不會丟失

Delphi 轉EXCEL 合併單元解決方案

廢話少說先上傳程式碼,自己看吧! procedure TForm1.Button10Click(Sender: TObject); var   FExcel:Variant;   FWorkbook:Variant;   FWorkSheet:Variant;   XlsF

POI匯出Excel設定單元格式

使用Apache的POI相關API匯出Excel設定單元格格式 栗子,一下各個程式碼之間的變數是通用的,要是在某個程式碼塊中找不到某個變數,則可以向上找尋 準備工作 InputStream = template//檔案輸入流 XSSFWorkbook wb = new XSSFW

Apache POI如何獲取Excel合併單元的值

/** * 獲取合併單元格的值 * @param sheet * @param row * @param column * @return */ public String getMergedRegionValue(Sheet sheet ,in

java中匯出excel設定單元的樣式為數字格式

//新增帶有formatting的Number物件 jxl.write.NumberFormat nf = new jxl.write.NumberFormat("#.##"); //設定數字格式 jxl.write.WritableCellFormat wcfN

PHPExcel的自定義匯出合併單元

首先自定義匯出,我用的是一個下拉多選框的一個外掛,百度一下就可找到,為了樣式好看。如圖value值對應的是你資料庫中查出的欄位值,text對應的是你的表頭資訊。ok,然後我是通過GET把這倆個值傳到我們控制器的。引入匯出類,這個就不多說。然後就是查詢資料庫,把資料處理成一個二

jxl匯出excel合併單元

Demo import java.io.*;   import jxl.*;   import jxl.format.UnderlineStyle;  import jxl.write.*;   publicclass CreateXLS {       public

HSSFWorkbook——匯出excel,動態合併單元

一 前言 開發中,對於匯出一個excel表格這樣的功能很常見,這裡談談我所知道的相關知識 二 需求  匯出某個套餐所關聯的所有專案的一個Excel表格 三 HSSFWorkbook //建立一個Excel檔案 HSSFWorkbook&

POI 匯出Excel實現合併單元以及列自適應寬度

目錄 參考推薦: POI 匯出Excel 1. 合併單元格 POI是apache提供的一個讀寫Excel文件的開源元件,在操作excel時常要合併單元格,合併單元格的方法是: public CellRang

Jxls匯出excel的若干方式總結(十三)-- 動態合併單元

可以看到程式碼中指定合併的部分現在已經顯示出了效果。 模板 List supplyAreaList = saBiz.getSupplyAreaById(supplyAreaId); SupplyArea sa = (SupplyArea) supplyAreaLis

Java匯出Excel表,POI 實現合併單元以及列自適應寬度

 //字型          HSSFFont font = workbook.createFont();          font.setFontName("仿宋_GB2312");          font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗體顯示

poi匯出excel時,合併單元後,求和不正確,即“假”合併

excel中所謂“真假”合併單元格 真合併:我們選擇一段連續的單元格,點選合併,這時候,EXCEL會提示如果合併只會顯示第一個單元格的資料,而且其他單元的的資料也會沒掉. 假合併:如果我們用一個已經合併的單元格,格式刷要合併的單元格,這時候沒有提示資料丟失的.事實上,這時候

Laravel Excel實現Excel/CSV檔案匯入匯出的功能詳解(合併單元,設定單元樣式)

Laravel Excel實現Excel/CSV檔案匯入匯出(合併單元格,設定單元格樣式) 這篇文章主要給大家介紹了關於在Laravel中如何使用Laravel Excel實現Excel/CSV檔案匯入匯出功能的相關資料,文中通過示例程式碼介紹的非常詳細,對大