JAVA输出,如何导出EXCEL文件中的内容

本文介绍如何使用Java程序从Excel文件中读取数据,并将这些数据转换为TXT文件格式。示例代码展示了如何遍历Excel工作表、获取单元格内容及处理不同类型的Excel文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public static void main(String[] args) throws BiffException, IOException {
//通过输入流获取磁盘上的文件
InputStream is = new FileInputStream("E:\\按时地方.xls");
try {
//根 据输入流创建对象
Workbook wb = Workbook.getWorkbook(is);

//获得文件中sheet的个数
int wbNum = wb.getNumberOfSheets();
for(int i = 0;i<wbNum;i++){

//得到这个文件中的第i个sheet表
Sheet sheet = wb.getSheet(i);
String sheetName = sheet.getName();
System.out.println("sheetName="+sheetName);
if(sheet!=null){
// 获取表格总列数
int rsColumns = sheet.getColumns();
// 获取表格总行数
int rsRows = sheet.getRows();
//循环文件里的数据
for(int j=0;j<rsRows;j++){
//System.out.println(rsRows);
Cell[] cells = sheet.getRow(j);
for(int k=0;k<rsColumns;k++){
System.out.print(cells[k].getContents()+"----");
}
System.out.println();
}
}
}

} catch (Exception e) {
e.printStackTrace();
}
}

 

 

 

原创代码:

private void readSeven(String filename){
        try {
         InputStream is = new FileInputStream(filename);
         HibernateAccessor exec = (HibernateAccessor) MenuTree.getApplicationContext().getBean("hqlAccessor");
         StringBuffer fileSb = new StringBuffer();
   XSSFWorkbook wb =  new XSSFWorkbook(is);
   //文档中有几个EXCEL表
            int wbNum = wb.getNumberOfSheets();
            for(int i = 0;i<wbNum;i++){
             XSSFSheet  sheet = wb.getSheetAt(i); 
    //sheet.getLastRowNum()这是取得的行数
                if(sheet.getLastRowNum()+1!=0){
                    // 获取表格总行数
                    int rsRows = sheet.getLastRowNum();
                    //循环文件里的数据
                    for(int j=0;j<=rsRows;j++){
                     XSSFRow row = sheet.getRow(j);
                     int cellCount = row.getLastCellNum();
                        for(short k=0;k<cellCount;k++){
                         XSSFCell cell = row.getCell(k);
                         if(k==cellCount-1){
                          fileSb.append(""+this.getCellString(cell)+"");
                         }else{
                          fileSb.append(""+this.getCellString(cell)+"" + "|" );
                         }
                        }
                        if(j!=rsRows){
                         fileSb.append(System.getProperty("line.separator"));
                        }
                    }
                }
            }
            BufferedWriter writer = new BufferedWriter(new FileWriter(new File(filename.replace(".xlsx", ".txt"))));    
            writer.write(fileSb.toString());         
            writer.close();
            is.close();
        } catch (Exception e) {
         logger.error(e.getMessage(), e);
        }
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值