「java获得excel」java获得反射的方法
本篇文章给大家谈谈java获得excel,以及java获得反射的方法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java如何读取整个excel文件的内容
- 2、java怎么读取excel数据
- 3、JAVA如何获得本机EXCEL的安装路径?
- 4、用java读excel的数据。
- 5、java怎么读取excel文件
- 6、java怎么获取excel中的数据
java如何读取整个excel文件的内容
工具:
参考代码及注释如下:
import Java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; public class ReadExcel { public static void readExcel(File file){ try { InputStream inputStream = new FileInputStream(file); String fileName = file.getName(); Workbook wb = null; // poi-3.9.jar 只可以读取2007以下的版本,后缀为:xsl wb = new HSSFWorkbook(inputStream);//解析xls格式 Sheet sheet = wb.getSheetAt(0);//第一个工作表 ,第二个则为1,以此类推... int firstRowIndex = sheet.getFirstRowNum(); int lastRowIndex = sheet.getLastRowNum(); for(int rIndex = firstRowIndex; rIndex = lastRowIndex; rIndex ++){ Row row = sheet.getRow(rIndex); if(row != null){ int firstCellIndex = row.getFirstCellNum(); // int lastCellIndex = row.getLastCellNum(); //此处参数cIndex决定可以取到excel的列数。 for(int cIndex = firstCellIndex; cIndex 3; cIndex ++){ Cell cell = row.getCell(cIndex); String value = ""; if(cell != null){ value = cell.toString(); System.out.print(value+"\t"); } } System.out.println(); } } } catch (FileNotFoundException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } catch (IOException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } } public static void main(String[] args) { File file = new File("D:/test.xls"); readExcel(file); }}
java怎么读取excel数据
引入poi的jar包,大致如下:
读取代码如下,应该能看得明白吧
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelUtil2007 {
/**读取excel文件流的指定索引的sheet
* @param inputStream excel文件流
* @param sheetIndex 要读取的sheet的索引
* @return
* @throws FileNotFoundException
* @throws IOException
*/
public static XSSFSheet readExcel(InputStream inputStream,int sheetIndex) throws FileNotFoundException, IOException
{
return readExcel(inputStream).getSheetAt(sheetIndex);
}
/**读取excel文件的指定索引的sheet
* @param filePath excel文件路径
* @param sheetIndex 要读取的sheet的索引
* @return
* @throws IOException
* @throws FileNotFoundException
*/
public static XSSFSheet readExcel(String filePath,int sheetIndex) throws FileNotFoundException, IOException
{
return readExcel(filePath).getSheetAt(sheetIndex);
}
/**读取excel文件的指定索引的sheet
* @param filePath excel文件路径
* @param sheetName 要读取的sheet的名称
* @return
* @throws IOException
* @throws FileNotFoundException
*/
public static XSSFSheet readExcel(String filePath,String sheetName) throws FileNotFoundException, IOException
{
return readExcel(filePath).getSheet(sheetName);
}
/**读取excel文件,返回XSSFWorkbook对象
* @param filePath excel文件路径
* @return
* @throws FileNotFoundException
* @throws IOException
*/
public static XSSFWorkbook readExcel(String filePath) throws FileNotFoundException, IOException
{
XSSFWorkbook wb=new XSSFWorkbook(new FileInputStream(filePath));
return wb;
}
/**读取excel文件流,返回XSSFWorkbook对象
* @param inputStream excel文件流
* @return
* @throws FileNotFoundException
* @throws IOException
*/
public static XSSFWorkbook readExcel(InputStream inputStream) throws FileNotFoundException, IOException
{
XSSFWorkbook wb=new XSSFWorkbook(inputStream);
return wb;
}
/***读取excel中指定的单元格,并返回字符串形式的值
* 1.数字
* 2.字符
* 3.公式(返回的为公式内容,非单元格的值)
* 4.空
* @param st 要读取的sheet对象
* @param rowIndex 行索引
* @param colIndex 列索引
* @param isDate 是否要取的是日期(是则返回yyyy-MM-dd格式的字符串)
* @return
*/
public static String getCellString(XSSFSheet st,int rowIndex,int colIndex,boolean isDate){
String s="";
XSSFRow row=st.getRow(rowIndex);
if(row == null) return "";
XSSFCell cell=row.getCell(colIndex);
if(cell == null) return "";
if (cell.getCellType() == 0) {//数字
if(isDate)s=new SimpleDateFormat("yyyy-MM-dd").format(cell.getDateCellValue());
else s = trimPointO(String.valueOf(getStringValue(cell)).trim());
}else if (cell.getCellType() == 1){//字符(excel中的空格,不是全角,也不是半角,不知道是神马,反正就是" "这个)
s=cell.getRichStringCellValue().getString().replaceAll(" ", " ").trim();
// s=cell.getStringCellValue();//07API新增,好像跟上一句一致
}
else if (cell.getCellType() == 2){//公式
s=cell.getCellFormula();
}
else if (cell.getCellType() == 3){//空
s="";
}
return s;
}
/**如果数字以 .0 结尾,则去掉.0
* @param s
* @return
*/
public static String trimPointO(String s) {
if (s.endsWith(".0"))
return s.substring(0, s.length() - 2);
else
return s;
}
/**处理科学计数法和百分比模式的数字单元格
* @param cell
* @return
*/
public static String getStringValue(XSSFCell cell) {
String sValue = null;
short dataFormat = cell.getCellStyle().getDataFormat();
double d = cell.getNumericCellValue();
BigDecimal b = new BigDecimal(Double.toString(d));
//百分比样式的
if (dataFormat == 0xa || dataFormat == 9) {
b=b.multiply(new BigDecimal(100));
//String temp=b.toPlainString();
DecimalFormat df=new DecimalFormat("0.00");//保留两位小数的百分比格式
sValue = df.format(b) + "%";
}else{
sValue = b.toPlainString();
}
return sValue;
}
}
JAVA如何获得本机EXCEL的安装路径?
1.找到注册表中Excel安装位置,如我的机子上(office 2007)excel的安装位置在注册表中为:
HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Office\\12.0\\Excel\\InstallRoot
2.用java Runtime.getRuntime().exec(...)调用reg query方法读取该值:
全部代码如下(请根据自己情况修改):
--------------------------------
package tt;
import java.io.IOException;
import java.io.InputStream;
import java.io.StringWriter;
public class Registry {
private static final String REGQUERY_UTIL = "reg query ";
private static final String REGSTR_TOKEN = "REG_SZ";
private static final String EXCEL_PATH_CMD = REGQUERY_UTIL
+ "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Office\\12.0\\Excel\\InstallRoot";
/**
* @param args
*/
public static void main(String[] args) {
System.out.println(getExcelInstallRoot());
}
public static String getExcelInstallRoot() {
try {
Process process = Runtime.getRuntime().exec(EXCEL_PATH_CMD);
StreamReader reader = new StreamReader(process.getInputStream());
reader.start();
process.waitFor();
reader.join();
String result = reader.getResult();
int p = result.indexOf(REGSTR_TOKEN);
if (p == -1)
return null;
return result.substring(p + REGSTR_TOKEN.length()).trim();
} catch (Exception e) {
return null;
}
}
static class StreamReader extends Thread {
private InputStream is;
private StringWriter sw;
StreamReader(InputStream is) {
this.is = is;
sw = new StringWriter();
}
public void run() {
try {
int c;
while ((c = is.read()) != -1)
sw.write(c);
} catch (IOException e) {
;
}
}
String getResult() {
return sw.toString();
}
}
}
---------------------------------------------------------------
用java读excel的数据。
通过java的poi读取xlsx文件:
将excel文件使用文件流读取
把excel的文件流转化成excel的工作薄
获取工作薄的sheet(工作表),迭代获取
最后再次迭代每一个sheet,获取每一行的每一个单元格,把数据取出存储起来
java怎么读取excel文件
读取excel中的数据,首先需要io包,然后导入excel的第三方包有poi或者jxl,你可以网上搜搜java导入excel,有源码的
java怎么获取excel中的数据
使用java poi
package webservice;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class ExcelController {
@SuppressWarnings("deprecation")
public void excel() throws FileNotFoundException, IOException{
String filename = "d:\\excel.xls";
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(filename));
//按名引用excel工作表
// HSSFSheet sheet = workbook.getSheet("JSP");
//用式获取excel工作表采用工作表索引值
HSSFSheet sheet = workbook.getSheetAt(0);
HSSFRow row ;
HSSFCell cell1;
int rows=sheet.getLastRowNum();
for(int icount=0;icountrows;icount++){
row = sheet.getRow(icount);
int line=row.getPhysicalNumberOfCells();
for(int j=0;jline;j++){
cell1= row.getCell(j);
System.out.println(cell1+"--"+icount+"---"+j);
}
}
//打印读取值
// System.out.println(cell.getStringCellValue());
//新建输流
FileOutputStream fout = new FileOutputStream(filename); //PS:filename 另存路径处理直接写入模版文件
//存盘
workbook.write(fout);
fout.flush();
//结束关闭
fout.close();
}
public HSSFCell getCell(HSSFRow row, int index) {
// 取发期单元格
HSSFCell cell = row.getCell(index);
// 单元格存
if (cell == null) {
// 创建单元格
cell = row.createCell(index);
}
// 返单元格
return cell;
}
public static void main(String[] args) {
ExcelController ec = new ExcelController();
try {
ec.excel();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
java获得excel的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java获得反射的方法、java获得excel的信息别忘了在本站进行查找喔。
发布于:2022-11-28,除非注明,否则均为
原创文章,转载请注明出处。