• java 操作excel文档 使用poi


    简答你的使用  方便以后使用到时查看

      1 package kite.poi;
      2 
      3 import java.awt.Font;
      4 import java.io.File;
      5 import java.io.FileOutputStream;
      6 import java.util.Calendar;
      7 import java.util.Date;
      8 
      9 import org.apache.poi.hssf.usermodel.HSSFCell;
     10 import org.apache.poi.hssf.usermodel.HSSFCellStyle;
     11 import org.apache.poi.hssf.usermodel.HSSFDataFormat;
     12 import org.apache.poi.hssf.usermodel.HSSFDataFormatter;
     13 import org.apache.poi.hssf.usermodel.HSSFFont;
     14 import org.apache.poi.hssf.usermodel.HSSFRichTextString;
     15 import org.apache.poi.hssf.usermodel.HSSFRow;
     16 import org.apache.poi.hssf.usermodel.HSSFSheet;
     17 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
     18 import org.apache.poi.hssf.util.HSSFColor;
     19 import org.apache.poi.ss.usermodel.Cell;
     20 import org.apache.poi.ss.usermodel.RichTextString;
     21 
     22 public class App
     23 {
     24     public static void main(String[] args) throws Exception
     25     {
     26         //创建工作簿
     27         HSSFWorkbook wb = new HSSFWorkbook();
     28         //创建一页
     29         HSSFSheet sheet = wb.createSheet("first sheet");
     30         //创建一行
     31         HSSFRow row = sheet.createRow(0);
     32         //创建列
     33         HSSFCell cell = row.createCell(0);
     34         cell.setCellValue(false);
     35         row.createCell(1).setCellValue(Calendar.getInstance());//日历
     36         row.createCell(2).setCellValue(new Date());
     37         row.createCell(3).setCellValue(123456789.987654321f);
     38         
     39         RichTextString rt = new HSSFRichTextString("dasssssssssssssssssssssssssssssssssssssssssss" +
     40                 "dasssssssssssssssssssssssssssssssssssssssssssss");//富有文本
     41         row.createCell(4).setCellValue(rt);
     42         row.createCell(5).setCellValue("收入多少啊");
     43         
     44         
     45         //格式化数据
     46         HSSFDataFormat format = wb.createDataFormat();//创建格式化对象
     47         HSSFCellStyle style = wb.createCellStyle();//创建单元格样式
     48         
     49         //设置格式
     50         style.setDataFormat(format.getFormat("yyyy-MM-dd hh:mm:ss"));
     51         cell = row.getCell(1);//对日历进行格式化
     52         cell.setCellStyle(style);
     53         //设置列宽
     54         sheet.setColumnWidth(1, 5000);//单位:1/20
     55         sheet.autoSizeColumn(2);
     56         
     57         //数字格式化
     58         style = wb.createCellStyle();
     59         style.setDataFormat(format.getFormat("#,####.000"));
     60         row.getCell(3).setCellStyle(style);
     61         
     62         //文本自动换行
     63         sheet.setColumnWidth(4, 5000);
     64         style = wb.createCellStyle();
     65         style.setWrapText(true);//回绕文本
     66         row.getCell(4).setCellStyle(style);//设置样式到 富文本
     67         
     68         //设置文本对齐方式
     69         sheet.setColumnWidth(0 , 5000);
     70         row = sheet.createRow(1);
     71         row.createCell(0).setCellValue("左上");
     72         row.createCell(1).setCellValue("中中");
     73         row.createCell(2).setCellValue("右下");
     74         
     75         //对齐方式 --左上
     76         style = wb.createCellStyle();
     77         style.setAlignment(HSSFCellStyle.ALIGN_LEFT);//左对齐
     78         style.setVerticalAlignment(HSSFCellStyle.VERTICAL_TOP);//上对齐
     79         row.getCell(0).setCellStyle(style);
     80         
     81         //对齐方式--中中
     82         style = wb.createCellStyle();
     83         style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
     84         style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
     85         row.getCell(1).setCellStyle(style);
     86         
     87         //对齐方式--右下
     88         style = wb.createCellStyle();
     89         style.setAlignment(HSSFCellStyle.ALIGN_RIGHT);
     90         style.setVerticalAlignment(HSSFCellStyle.VERTICAL_BOTTOM);
     91         row.getCell(2).setCellStyle(style);
     92         
     93         //设置行高      像素
     94         row.setHeightInPoints(50);
     95         
     96         //设置字体
     97         style = row.getCell(1).getCellStyle();  //对当前行的第一列设置样式
     98         HSSFFont font = wb.createFont();
     99         font.setColor(HSSFColor.RED.index);
    100         font.setFontName("宋体");
    101         font.setFontHeightInPoints((short)18);
    102         style.setFont(font);
    103         
    104         //文本旋转
    105         style.setRotation((short)30);
    106         
    107         //设置边框
    108         row = sheet.createRow(2);
    109         cell = row.createCell(0);
    110         style = wb.createCellStyle();
    111         style.setBorderBottom(HSSFCellStyle.BORDER_DASH_DOT_DOT);
    112         style.setTopBorderColor(HSSFColor.RED.index);
    113         cell.setCellStyle(style);
    114         
    115         //计算列
    116         row = sheet.createRow(3);
    117         row.createCell(0).setCellValue(11.5f);
    118         row.createCell(1).setCellValue(25.6f);
    119         row.createCell(2).setCellValue(50);
    120         row.createCell(3).setCellFormula("sum(A4:C4)");
    121         
    122         //整体移动行
    123         sheet.shiftRows(1, 3, 2);
    124         
    125         //拆分窗格
    126         //1000:左侧窗格的宽度
    127         //2000:上侧窗格的高度
    128         //3:右侧窗格开始显示的列的索引
    129         //4:下侧窗格开始显示的行的索引
    130         //1:激活的哪个面板区
    131         sheet.createSplitPane(1000, 2000, 3, 4, 1);
    132         
    133         //冻结窗口
    134         sheet.createFreezePane(1, 2, 3, 4);
    135         
    136         wb.write(new FileOutputStream(new File("F:\\excel.xls")));
    137         
    138     }
    139 }
  • 相关阅读:
    [导入]自由的生活
    [导入]宁静
    [导入]书店
    [导入]娶老婆的15条金科玉律
    [导入]静静的日子
    [导入]生活无聊的日子
    [导入]新的任务
    [导入]问题:我是一个内向的男生。请问怎么追求自己喜欢的女孩
    [导入]奋斗
    java 多种方式文件读取
  • 原文地址:https://www.cnblogs.com/kite/p/3728841.html
Copyright © 2020-2023  润新知