android studio excel,Android Studio使用Apache POI在Android中生成.xls的Excel文件

Apache POI是关于Microsoft文档操作的JAVA API。因为做Android开发需要生成一些Excel文件,因此用到此API。

首先从官网下载下jar包,大概是这个东西poi-bin-3.15-20160924.tar.gz,解压后里面有很多jar包还有些文档之类的,这些包互相之间有些依赖关系,但是楼主因为只用创建下Excel文件,因此只用了poi-x.xx.jar这个包(后面的x.xx为版本号,楼主用的3.15),由于楼主用的.xls是Excel03版的格式,所以只用HSSF可以了,如果各位看官要用07版的.xlsx这种后缀的,要用到XSSF的,还需要用到poi-ooxml-x.xx.jar等包。具体的文档对包以及包之间的依赖关系可看下图:

文档对包:

6fe4a0c73f354534526b75d2325a0d0e.png

包之间的依赖关系:

bdba8c5c750f10ac181559459b57e5f1.png

在准备好需要的包之后,新建Android工程,在工程的libs文件中插入poi-3.15.jar包。在app的build.gradle中添加对此包的依赖

compile files('libs/poi-3.15.jar')

配置完成,如果你还有其它的包请逐一重复以上步骤。

最后,导出Excel文件最简单的代码:

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;

String[] str = new String[]{"one","two","three","four","five","six","seven","eight","nine","ten"};

String filename = "textExcel.xls";

public void exportExcelFile(){

int size = 10;

Workbook wb = new HSSFWorkbook();

Sheet sh = wb.createSheet();

for(int rownum=0;rownum导出文件:

2442c323a63935934db031ab4eb6c33d.png

对了,用Android的FileOutputStream输出的文件都存放在系统的data-data-app包名-files中,虚拟机的话用Android Device Monitor(DDMS)可以看到,也可以导出:

50417943024209c4099ff733e7b2e988.png

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下使用Apache POI复制Excel sheet并保留格式的代码示例: ```java import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class CopyExcelSheet { public static void main(String[] args) { try (Workbook workbook = new XSSFWorkbook("original.xlsx"); FileOutputStream fileOut = new FileOutputStream("copy.xlsx")) { // 获取要复制的sheet Sheet originalSheet = workbook.getSheet("Sheet1"); // 创建新的sheet并设置sheet名称 Sheet copiedSheet = workbook.createSheet("Copy of Sheet1"); // 复制行和列 for (int rowIndex = 0; rowIndex < originalSheet.getLastRowNum(); rowIndex++) { Row originalRow = originalSheet.getRow(rowIndex); Row copiedRow = copiedSheet.createRow(rowIndex); if (originalRow != null) { for (int colIndex = 0; colIndex < originalRow.getLastCellNum(); colIndex++) { Cell originalCell = originalRow.getCell(colIndex); Cell copiedCell = copiedRow.createCell(colIndex); if (originalCell != null) { // 复制单元格值 copiedCell.setCellValue(originalCell.getStringCellValue()); // 复制单元格样式 CellStyle originalCellStyle = originalCell.getCellStyle(); CellStyle copiedCellStyle = workbook.createCellStyle(); copiedCellStyle.cloneStyleFrom(originalCellStyle); copiedCell.setCellStyle(copiedCellStyle); } } } } // 保存工作簿 workbook.write(fileOut); } catch (IOException e) { e.printStackTrace(); } } } ``` 在此示例,我们首先打开原始Excel文件并获取要复制的sheet。然后,我们创建一个新的sheet并将其命名为“Copy of Sheet1”。接下来,我们循环遍历原始sheet的所有行和列,并将它们复制到新的sheet。对于每个单元格,我们复制单元格值并复制单元格样式。最后,我们将工作簿写入新的Excel文件。 请注意,这只是一个基本示例,您可能需要根据自己的需求进行修改和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值