1 package poi;
2 import java.io.FileInputStream;
3 import java.io.IOException;
4 import java.io.InputStream;
5 import java.util.Iterator;
6 import org.apache.poi.hssf.usermodel.HSSFCell;
7 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
8 import org.apache.poi.ss.usermodel.Cell;
9 import org.apache.poi.ss.usermodel.Row;
10 import org.apache.poi.ss.usermodel.Sheet;
11 import org.apache.poi.ss.usermodel.Workbook;
12 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
13
14 public class ReadExcel001 {
15 public static void main(String[] args) {
16 readXml("D:/test.xlsx");
17 System.out.println("-------------");
18 readXml("d:/test2.xls");
19 }
20 public static void readXml(String fileName){
21 boolean isE2007 = false; //判斷是否是excel2007格式
22 if(fileName.endsWith("xlsx"))
23 isE2007 = true;
24 try {
25 InputStream input = new FileInputStream(fileName); //建立輸入流
26 Workbook wb = null;
27 //根據文件格式(2003或者2007)來初始化
28 if(isE2007)
29 wb = new XSSFWorkbook(input);
30 else
31 wb = new HSSFWorkbook(input);
32 Sheet sheet = wb.getSheetAt(0); //獲得第一個表單
33 Iterator<Row> rows = sheet.rowIterator(); //獲得第一個表單的迭代器
34 while (rows.hasNext()) {
35 Row row = rows.next(); //獲得行數據
36 System.out.println("Row #" + row.getRowNum()); //獲得行號從0開始
37 Iterator<Cell> cells = row.cellIterator(); //獲得第一行的迭代器
38 while (cells.hasNext()) {
39 Cell cell = cells.next();
40 System.out.println("Cell #" + cell.getColumnIndex());
41 switch (cell.getCellType()) { //根據cell中的類型來輸出數據
42 case HSSFCell.CELL_TYPE_NUMERIC:
43 System.out.println(cell.getNumericCellValue());
44 break;
45 case HSSFCell.CELL_TYPE_STRING:
46 System.out.println(cell.getStringCellValue());
47 break;
48 case HSSFCell.CELL_TYPE_BOOLEAN:
49 System.out.println(cell.getBooleanCellValue());
50 break;
51 case HSSFCell.CELL_TYPE_FORMULA:
52 System.out.println(cell.getCellFormula());
53 break;
54 default:
55 System.out.println("unsuported sell type");
56 break;
57 }
58 }
59 }
60 } catch (IOException ex) {
61 ex.printStackTrace();
62 }
63 }
64 }
tomcat如果是通過windows服務啟動,執行的是bin\tomcat.exe.他讀取注冊表中的值,而不是catalina.bat的設置.解決辦法:修改注冊表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\Tomcat6\Parameters\JavaOptions原值為-Dcatalina.home=E:\Tomcat 6.0-Dcatalina.base=E:\Tomcat 6.0-Djava.endorsed.dirs=E:\Tomcat 6.0\common\endorsed-Djava.io.tmpdir=E:\Tomcat 6.0\temp-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager-Djava.util.logging.config.file=E:\Tomcat 6.0\conf\logging.properties
在后面增加即可:
-Xms128M
-Xmx512M
-XX:PermSize=128M
-XX:MaxPermSize=512M
必須要分行寫。
最終效果如下:

當一個數據庫的數據文件達到表空間的最大值時,報ORA-1653:的錯誤。如下:
ORA-1653: unable to extend table TEST.COMM_DTTR_SVR_LOG by64 in tablespace TEST_SPACE
解決:
可以在該表空間中增加一個數據文件,增加的數據文件為自動擴展,無限擴大。
查看數據文件的大小和最大的值,可以查詢dba_data_files;
Sql>
alter tablespace TEST_SPACE
adddatafile'/Oracle/oms/oradata/pub/Norm_data001.dbf'
size 10M autoextend on MAXSIZE UNLIMITED;
或者把該表空間所在的數據文件設置成自動擴張,設置該maxsize更大,unlimited表示沒有限制。
SQL>
alter database
datafile '/oracle/oms/oradata/pub/Pub_Norm_data001.dbf'
autoextend on maxsize unlimited;