1. 程式人生 > >寫入Excel檔案最簡例項(親測可用)

寫入Excel檔案最簡例項(親測可用)

百度全網最簡例項,java將資訊寫入Excel檔案的例項只需看懂這個就可以了!給你節省精力!

轉自:http://www.cnblogs.com/chenyq/p/5530970.html

package excel.write;


import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

/** 
 * 從excel讀取資料/往excel中寫入 excel有表頭,表頭每列的內容對應實體類的屬性 
 *  
 * @author nagsh 
 *  
 */  
public class ExcelManage {  


    public static void main(String[] args) throws IOException {  
        String path = "D:/test";  
        String fileName = "被保險人員清單(新增)04";  
        String fileType = "xlsx";  
        List<InsuraceExcelBean> list = new ArrayList<>();
        for(int i=0; i<6; i++){
            InsuraceExcelBean bean = new InsuraceExcelBean();  
            bean.setInsuraceUser("test"+i);
            bean.setBankCardId("4444444444"+i+","+"55544444444444"+i+","+"999999999999999"+i);
            bean.setIdCard("666666"+i);
            bean.setBuyTime("2016-05-06");
            bean.setInsEndTime("2016-05-07");
            bean.setInsStartTime("2017-05-06");
            bean.setMoney("20,000");
            bean.setType("儲蓄卡");
            
            list.add(bean);
        }
        String title[] = {"被保險人姓名","身份證號","賬戶型別","銀行卡號","保險金額(元)","購買時間","保單生效時間","保單失效時間"};  
//        createExcel("E:/被保險人員清單(新增).xlsx","sheet1",fileType,title);  
        
        writer(path, fileName, fileType,list,title);  
    }  
    
    @SuppressWarnings("resource")
    public static void writer(String path, String fileName,String fileType,List<InsuraceExcelBean> list,String titleRow[]) throws IOException {  
        Workbook wb = null; 
        String excelPath = path+File.separator+fileName+"."+fileType;
        File file = new File(excelPath);
        Sheet sheet =null;
        //建立工作文件物件   
        if (!file.exists()) {
            if (fileType.equals("xls")) {
                wb = new HSSFWorkbook();
                
            } else if(fileType.equals("xlsx")) {
                
                    wb = new XSSFWorkbook();
            } else {
                throw new IOException("檔案格式不正確");
            }
            //建立sheet物件   
            sheet = (Sheet) wb.createSheet("sheet1");  
            OutputStream outputStream = new FileOutputStream(excelPath);
            wb.write(outputStream);
            outputStream.flush();
            outputStream.close();
            
        } else {
            if (fileType.equals("xls")) {  
                wb = new HSSFWorkbook();  
                
            } else if(fileType.equals("xlsx")) { 
                wb = new XSSFWorkbook();  
                
            } else {  
                throw new IOException("檔案格式不正確");
            }  
        }
         //建立sheet物件   
        if (sheet==null) {
            sheet = (Sheet) wb.createSheet("sheet1");  
        }
        
        //新增表頭  
        Row row = sheet.createRow(0);
        Cell cell = row.createCell(0);
        row.setHeight((short) 540); 
        cell.setCellValue("被保險人員清單");    //建立第一行    
        
        CellStyle style = wb.createCellStyle(); // 樣式物件      
        // 設定單元格的背景顏色為淡藍色  
        style.setFillForegroundColor(HSSFColor.PALE_BLUE.index); 
        
        style.setVerticalAlignment(CellStyle.VERTICAL_CENTER);// 垂直      
        style.setAlignment(CellStyle.ALIGN_CENTER);// 水平   
        style.setWrapText(true);// 指定當單元格內容顯示不下時自動換行
       
        cell.setCellStyle(style); // 樣式,居中
        
        Font font = wb.createFont();  
        font.setBoldweight(Font.BOLDWEIGHT_BOLD);  
        font.setFontName("宋體");  
        font.setFontHeight((short) 280);  
        style.setFont(font);  
        // 單元格合併      
        // 四個引數分別是:起始行,起始列,結束行,結束列      
        sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 7));  
        sheet.autoSizeColumn(5200);
        
        row = sheet.createRow(1);    //建立第二行    
        for(int i = 0;i < titleRow.length;i++){  
            cell = row.createCell(i);  
            cell.setCellValue(titleRow[i]);  
            cell.setCellStyle(style); // 樣式,居中
            sheet.setColumnWidth(i, 20 * 256); 
        }  
        row.setHeight((short) 540); 

        //迴圈寫入行資料   
        for (int i = 0; i < list.size(); i++) {  
            row = (Row) sheet.createRow(i+2);  
            row.setHeight((short) 500); 
            row.createCell(0).setCellValue(( list.get(i)).getInsuraceUser());
            row.createCell(1).setCellValue(( list.get(i)).getIdCard());
            row.createCell(2).setCellValue(( list.get(i)).getType());
            row.createCell(3).setCellValue(( list.get(i)).getBankCardId());
            row.createCell(4).setCellValue(( list.get(i)).getMoney());
            row.createCell(5).setCellValue(( list.get(i)).getBuyTime());
            row.createCell(6).setCellValue(( list.get(i)).getInsStartTime());
            row.createCell(7).setCellValue(( list.get(i)).getInsEndTime());
        }  
        
        //建立檔案流   
        OutputStream stream = new FileOutputStream(excelPath);  
        //寫入資料   
        wb.write(stream);  
        //關閉檔案流   
        stream.close();  
    }  
    
}

效果圖:


相關推薦

寫入Excel檔案例項可用

百度全網最簡例項,java將資訊寫入Excel檔案的例項只需看懂這個就可以了!給你節省精力! 轉自:http://www.cnblogs.com/chenyq/p/5530970.html package excel.write; import java.io.Fil

Mac和Windows遠端伺服器間連線和檔案互傳可用

1.工具:Parallels Client,請自行安裝 2.安裝完成介面如下: 2.右鍵點選,新建連線,輸入伺服器IP,點選高階設定按鈕 3.在彈出介面,選在左上角的連線選項,出現如下介面,輸入伺服器使用者名稱密碼,此時可以完成連線,但是無法檔案互傳。  

mysql5.7.17 綠色版 簡潔的安裝步驟可用

1、下載mysql5.7.1的zip包,過程略; 2、設定環境變數:path增加mysql的值,我的是D:\mysql-5.7.17-winx64\bin 3、把my-default.ini重新命名為my.ini 修改 basedir = D:\mysql-5.7.17-w

推薦一款可以下載愛奇藝視頻的chrome插件可用

測試的 技術 可用 plugin video 下載安裝 檢測 sans chrom 事件起因:萬聖節就要到了,想要借此機會跟小朋友分享一些halloween的知識,於是尋找到一首knock knock trick or treat的英文歌曲視頻。這樣好的視頻當然要下載到電視

CentOS7安裝部署Shipyard管理系統可用

docker shipyard 集群管理 dockerweb 一、基礎環境部署 # step 1: 安裝必要的一些系統工具 yum install -y yum-utils device-mapper-persistent-data lvm2 # Step 2: 添加軟件源信息 yum-con

secureCRT無操作自動登出時間修改可用

目錄 tin 機器 color nbsp 一段時間 操作 for 登錄 轉自:http://blog.sina.com.cn/s/blog_6bcf42010102vlt9.html secureCRT連接機器經常會因為一段時間無操作就退出了,提示timed out wai

IntelliJ IDEA 2018.2.1激活碼可用

idea bll npr nlb set pre xxd cme number 選擇Activation code,復制下方激活碼到輸入框即可完成激活。 K03CHKJCFT-eyJsaWNlbnNlSWQiOiJLMDNDSEtKQ0ZUIiwibGljZW5zZWVO

教你如何解鎖被惡意鎖定的安卓手機可用

       今天我手機在裝某些應用的時候被惡意鎖定,然後是這樣的 什麼鬼。。。 然後就去各種百度,看怎樣可以解鎖,居然沒有一個辦法可以,各種刷機,各種助手, 查各種解除安裝的辦

【微信開放平臺】微信第三方掃碼登入可用

開放平臺需要企業認證才能註冊,正好這次公司提供了一個賬號,調通以後,就順便寫一篇部落格吧。 公眾平臺與開放平臺的區別 微信開放平臺 主要面對移動應用/網站應用開發者,為其提供微信登入、分享、支付等相關許可權和服務。 微信公眾平臺 微信公眾平臺用於管理、開放微信公眾號(包括訂閱號、

Centos7 tomcat做服務,並開機啟動可用

系統版本:CentOS Linux release 7.5.1804 (Core) Tomcat版本:7 Jdk版本:1.8 tomcat安裝目錄:/usr/local/tomcat7 jdk目錄:/usr/local/jdk1.8.0_171 #設定jdk的環境變數  v

破解Navicat 12可用

破解Navicat 12 首先感謝Navicat團隊釋出了新的Navicat12版本,其中比11包含了很多新的功能。 不過呢,窮學生實在用不起付費版的,所以這裡僅做學習用途的破解,不用於商業。 網上的很多破解版有的只是適合某些版本或者說官方升級之後那種破解方法就不行了。這裡的是有一個

js 兩組陣列篩選出多餘陣列可用

/** * 比較值差異 * @param array * @param array2 * @returns {Array} */ compare : function(array,array2)

android 讓EditText輸入框失去焦點可用

在顯示一些記錄的時候,不希望EditText有游標,也就是失去焦點,可以通過呼叫edittext.clearFocus()來實現,但clearFocus()的會將焦點移到Activity的第一個View。如果不幸你的EditText就是第一個View,那麼單純地呼叫clear

如何破解WinRAR可用

WinRAR是Windows系統一直比較推薦的壓縮工具,也比較好用,可惜,現在它是需要花很多錢買的,那怎麼免費使用嘞?往下看就好啦! 首先,要開啟WinRAR的安裝目錄,也就是可以看到啟動程式的路徑 也

appium的環境搭建可用

注:appium安裝到C盤,node.js安裝到C盤 一、安裝node.js 2、獲取到安裝檔案後,直接雙擊安裝檔案,根據程式的提示,完成nodejs的安裝。 3、安裝完成後,執行cmd,輸入node –v,如果安裝成功,會輸出如下版本資訊: 二、配置Andr

monkey測試真機可用

1.首先需要將手機連線到PC,測試連線是否正常,可在cmd裡輸入adb devices來進行驗證; 2.獲取要測試的APP包名:可以直接問開發,也可以通過 adb shell pm list packages 列出所有包名來進行查詢 adb shell pm

教你五步把Teamview到期後變為免費版可用

解除安裝軟體 win+R開啟執行輸入“%appdata%”,找到teamview並刪除 3、輸入regedit,開啟登錄檔編輯器 在【登錄檔編輯器】中,依次展開【HKEY_LOCAL_MACHINE\SOFTWARE\】,找到TeamViewer資料夾,右鍵刪除。

java 手機號正則表示式 2018年3月可用

import java.util.regex.Matcher; import java.util.regex.Pattern; import org.apache.commons.lang3.StringUtils; /** * @author kpzc *三大運

Winform打包-NSIS 檢測.NetFramework版本可用

首先介紹下,HM NIS Edit工具,是一款已非常簡潔好用的winform打包工具,功能強大,外掛豐富,還有豐富的第三方介面庫支援。 隨著C/S模式開發的越來越少,這方面的資料,尤其是NSIS的資料都極其稀少。翻了很多文章,進行整合,終於找到比較滿意的.NetFramework檢測,並安裝的實現方式。 進入

華碩飛行堡壘FX80GM安裝Ubuntu16.04教程可用

提醒:博主至少配置過5臺機子的ubuntu,每一臺碰到的坑都不同,所以耐住性子。 首先進入bios(F2)再按F7將fast boot設定為Disable,否則無法引導ubuntu boot啟動,預設ubuntu boot安裝。 注意:首先,檢查自己的機子nvidia顯示