大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 小白必看:Java怎么做表格

小白必看:Java怎么做表格

更新時間:2022-05-25 10:58:37 來源:動力節點 瀏覽4178次

對于使用代碼操作表格的方式,每種語言都有不同的方式,尤其是在Java這個庫很強大的情況下,基本上就變得容易很多,對于XSL文件,在實際工作中使用到很多,使用代碼實現表格的操作和導出,基本上每個程序員都要用到。

 <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi</artifactId>
      <version>4.0.1</version>
    </dependency>

導入坐標之后,就是實現表格的創建和操作了,這里展示的是創建,修改和創建的道理也是一樣的。下面是源碼

public class POIXls {
    /**
     * 操作xls表格
     * @param workName 表格的名字
     * @param attributeName 第一行的屬性名
     * @param savePath 要保存到的位置
     * @param list List集合,用于寫入表格的集合(為什么不用map,這個根據實際需求來操作,因為在實際工作中有些表格的屬性名字是重復的,使用map會被覆蓋)
     * @throws IOException
     */
    public void createWork(String workName, List<String> attributeName,List<List<String>> list,String savePath) throws IOException {
        Workbook wb = new HSSFWorkbook();
        //創建工作表
        Sheet sheet = wb.createSheet(workName);
//        sheet.setDefaultColumnWidth(width);//列寬
//        創建第一行,索引從零開始
        Row index = sheet.createRow(0);//行
        Cell cells = null;//列
        //創建第一行的屬性,即工作表的第一行屬性的名稱
        for (int i = 0; i < attributeName.size(); i++) {
            cells = index.createCell(i);
            cells.setCellValue(attributeName.get(i));
        }
        for (int i = 0; i < list.size(); i++) {
            index = sheet.createRow(i+1);//i+1是因為第一行我們已經創建好了,如果不加1會覆蓋前面的信息,為什么列不需要,因為列是從每行的第一列開始
            for (int j = 0; j < list.get(i).size(); j++) {
                Cell cell = index.createCell(j);
                cell.setCellValue(list.get(i).get(j));
            }
        }
        //創建工作表文件夾,將寫好的內容寫到磁盤
        File file = new File(savePath);
        if (!file.exists()){
            file.mkdir();
        }
        try(FileOutputStream fos = new FileOutputStream(savePath+workName+".xls")){
            wb.write(fos);
            fos.flush();
        }finally {
            if (wb!=null) wb.close();
        }
    }
    public static void main(String[] args) throws IOException {
        POIXls poiXls = new POIXls();
        List<String> listAttributeName = new ArrayList<>();
        listAttributeName.add("姓名");
        listAttributeName.add("性別");
        listAttributeName.add("電話");
        listAttributeName.add("備注");
        List<List<String>> list = new ArrayList<>();
        for (int i=0;i<2;i++) {
            List<String> arrayList = new ArrayList<>();
            arrayList.add("張三豐"+i);
            arrayList.add("男");
            arrayList.add("10086");
            arrayList.add("武當祖師"+i);
            list.add(arrayList);
        }
        poiXls.createWork("測試",listAttributeName,list,"C:\\log\\");
    }

結果:

這就是對于表格的操作,其中列寬是可以指定的,具體可以看代碼。

注意:保存地址最好不要直接保存在系統盤下,有可能權限被拒絕,無法寫入,如代碼中的例子

C:\ ----->這個是寫入失敗的,權限被拒絕

C:\log\ ---->這樣寫入就不會出現問題,當然有可能是電腦的原因,具體看自己的使用習慣

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 久久亚洲美女久久久久 | 欧美伊人久久久久久久久影院 | 亚洲另类伦春色综合妖色成人网 | 国产精品午夜免费福利视频 | 色综合一区 | 日韩一级欧美一级毛片在 | 狠狠色狠狠色88综合日日91 | 欧美一级暴毛片 | 神马老子不卡视频在线 | 亚洲高清国产一区二区三区 | 久久精品一区二区影院 | 伊人婷婷色香五月综合缴缴情 | 青青青国产免费全部免费观看 | 黄频网站在线观看视频 | 奇米777色| 99热成人精品热久久66 | 中国妞xxx的视频 | 久久综合久久自在自线精品自 | 毛片免费观看久久欧美 | 久久久久免费精品视频 | 日本高清中文字幕一区二区三区 | 国产亚洲精品国产福利在线观看 | 成年女人色毛片免费看 | 国产永久地址 | 免费视频一区二区三区四区 | 免费黄色福利 | 真实偷清晰对白在线视频 | 久久中文字幕2021精品 | a级亚洲片精品久久久久久久 | 九九视频这里只有精品 | 色综合久久88色综合天天小说 | 国产精品久久久久乳精品爆 | 九色九色九色在线综合888 | 久久精品午夜视频 | 天天舔日日干 | 亚洲精品乱码久久久久久蜜桃 | 欧美精彩狠狠色丁香婷婷 | 久久综合香蕉久久久久久久 | 国产成人99精品免费视频麻豆 | 888米奇四色极速在线观看 | 亚洲精品高清久久 |