本系統主要是用於Java web 操作Excel文檔。
源碼與說明如下:
package web;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Date;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
public class goods
{
public static void main(String agre[])throws Exception
{
/****************************設置字體樣式*******************************************************/
/*HSSFWorkbook workBook = new HSSFWorkbook(); //創建一個文檔對象
HSSFSheet sheet = workBook.createSheet(); //創建一個工作薄對象
sheet.setColumnWidth(1, 10000); //設置第二列的寬度
HSSFRow row = sheet.createRow(1); //創建一個行對象
row.setHeightInPoints(23); //設置行高23像素
HSSFCellStyle style = workBook.createCellStyle(); //創建樣式對象
HSSFFont font = workBook.createFont(); //創建字體對象
font.setFontHeightInPoints((short)15); //設置字體大小
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); //設置字體粗體
font.setFontName("黑體"); //設置爲黑體字
style.setFont(font); //將字體加入到樣式對象
style.setAlignment(HSSFCellStyle.ALIGN_CENTER_SELECTION); //水平居中
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); //垂直居中
style.setBorderTop(HSSFCellStyle.BORDER_THICK); //頂部邊框粗細
style.setTopBorderColor(HSSFColor.RED.index); //設置爲紅色
style.setBorderBottom(HSSFCellStyle.BORDER_DOUBLE); //底部邊框雙線
style.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM); //左邊框
style.setBorderRight(HSSFCellStyle.BORDER_MEDIUM); //右邊框
style.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy h:mm"));
HSSFCell cell = row.createCell(1);
cell.setCellValue(new Date());
cell.setCellStyle(style); //應用樣式
FileOutputStream os = new FileOutputStream("D://first.xls");
workBook.write(os);
os.close();*/
/****************************讀取Excel文檔內容*******************************************************/
FileInputStream is = new FileInputStream("D://first.xls"); //創建文件流
POIFSFileSystem ts = new POIFSFileSystem(is); //創建POI文件系統兌現
HSSFWorkbook wb = new HSSFWorkbook(ts); //獲取文檔對象
HSSFSheet sheet = wb.getSheetAt(0); // 獲取工作薄
HSSFRow row = null; //聲明行對象
for(int i=0;sheet.getRow(i)!=null;i++) //通過循環獲取每一行
{
row = sheet.getRow(i);
for(int j = 0;row.getCell(j)!=null;j++) //通過循環獲取一行中的每一例
{
System.out.print(row.getCell(j)+" ");
}
System.out.println();
}
System.out.print("success");
}
}
發佈了32 篇原創文章 · 獲贊 20 · 訪問量 7萬+