📄 readexcelmetadata.java
字号:
/**
*
*/
package com.baosight.bsfc.cs.action;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;
import jxl.Sheet;
import jxl.Workbook;
/**
* @author Administrator
*
*/
public class ReadExcelMetaData {
// private static String tablename;
public static int charToInt(String s,String sar[]){
int loc=0;
for(int i=0;i<sar.length;i++){
if(s.equals(sar[i]))
loc=i;
}
return loc;
}
public static void main(String[] args) {
String a2="B1";
String a1="C2";
// TODO Auto-generated method stub
Map maptemp=ReadExcelMetaData.readExcel(a1, a2);
//System.out.println(maptemp.get("amount1"));
//System.out.println(maptemp.get("amount2"));
}
public static Map readExcel(String st1,String st2) {
Map map=new HashMap();
File file=null;
if(st1.equals("")||st1==null){
st1="0";
}
if(st2.equals("")||st2==null)
{
st2="0";
}
String englishbig[]={"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
String str1=st1.substring(0,1).toUpperCase();
String str2=st2.substring(0,1).toUpperCase();
int column1=charToInt(str1,englishbig);
int column2=charToInt(str2,englishbig);
int row1=Integer.parseInt(st1.substring(1, 2));
int row2=Integer.parseInt(st2.substring(1, 2));
try {
//file=new File("c:\\test.xls");
file=(File)CsReportImportAction.getFile();
map.clear();//将静态Map数组清空.(如果不清空原数据会不断累加)
InputStream is = new FileInputStream(file);
Workbook rwb = Workbook.getWorkbook(is);
Sheet st = rwb.getSheet(0);//这里有两种方法获取sheet表,1为名字,而为下标,从0开始
String strc1=st.getCell(column1, row1).getContents().trim();
String strc2=st.getCell(column2, row2).getContents().trim();
if(strc1==null||strc1.equals("")){
strc1="0";
}
if(strc2==null||strc2.equals("")){
strc2="0";
}
BigDecimal amount1=new BigDecimal(strc1);
BigDecimal amount2=new BigDecimal(strc2);
// 获得cell具体类型值的方式得到内容.
map.put("amount", amount1);
map.put("amount2", amount2);
//System.out.println(map.get("amount1"));
//System.out.println(map.get("amount2"));
rwb.close();
// 关闭
} catch (Exception e){
e.printStackTrace();
}
return map;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -