`

Android应用读取Excel文件

 
阅读更多
public class ReadExcel extends Activity {  
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        // createExcel();  
        // readExcel();  
        writeExcel("mnt/sdcard/test.xls");  
    }  
 
    public void readExcel() {  
        try {  
 
            /** 
             * 后续考虑问题,比如Excel里面的图片以及其他数据类型的读取 
             **/ 
            InputStream is = new FileInputStream("mnt/sdcard/test.xls");  
 
            Workbook book = Workbook  
                    .getWorkbook(new File("mnt/sdcard/test.xls"));  
            book.getNumberOfSheets();  
            // 获得第一个工作表对象  
            Sheet sheet = book.getSheet(0);  
            int Rows = sheet.getRows();  
            int Cols = sheet.getColumns();  
            System.out.println("当前工作表的名字:" + sheet.getName());  
            System.out.println("总行数:" + Rows);  
            System.out.println("总列数:" + Cols);  
            for (int i = 0; i < Cols; ++i) {  
                for (int j = 0; j < Rows; ++j) {  
                    // getCell(Col,Row)获得单元格的值  
                    System.out  
                            .print((sheet.getCell(i, j)).getContents() + "\t");  
                }  
                System.out.print("\n");  
            }  
            // 得到第一列第一行的单元格  
            Cell cell1 = sheet.getCell(0, 0);  
            String result = cell1.getContents();  
            System.out.println(result);  
            book.close();  
        } catch (Exception e) {  
            System.out.println(e);  
        }  
    }  
 
    public void createExcel() {  
        try {  
            // 创建或打开Excel文件  
            WritableWorkbook book = Workbook.createWorkbook(new File(  
                    "mnt/sdcard/test.xls"));  
 
            // 生成名为“第一页”的工作表,参数0表示这是第一页  
            WritableSheet sheet1 = book.createSheet("第一页", 0);  
            WritableSheet sheet2 = book.createSheet("第三页", 2);  
 
            // 在Label对象的构造函数中,元格位置是第一列第一行(0,0)以及单元格内容为test  
            Label label = new Label(0, 0, "test");  
 
            // 将定义好的单元格添加到工作表中  
            sheet1.addCell(label);  
 
            /* 
             * 生成一个保存数字的单元格.必须使用Number的完整包路径,否则有语法歧义 
             */ 
            jxl.write.Number number = new jxl.write.Number(1, 0, 555.12541);  
            sheet2.addCell(number);  
 
            // 写入数据并关闭文件  
            book.write();  
            book.close();  
        } catch (Exception e) {  
            System.out.println(e);  
        }  
    }  
 
    /** 
     * jxl暂时不提供修改已经存在的数据表,这里通过一个小办法来达到这个目的,不适合大型数据更新! 这里是通过覆盖原文件来更新的. 
     *  
     * @param filePath 
     */ 
    public void updateExcel(String filePath) {  
        try {  
            Workbook rwb = Workbook.getWorkbook(new File(filePath));  
            WritableWorkbook wwb = Workbook.createWorkbook(new File(  
                    "d:/new.xls"), rwb);// copy  
            WritableSheet ws = wwb.getSheet(0);  
            WritableCell wc = ws.getWritableCell(0, 0);  
            // 判断单元格的类型,做出相应的转换  
            Label label = (Label) wc;  
            label.setString("The value has been modified");  
            wwb.write();  
            wwb.close();  
            rwb.close();  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  
 
    public static void writeExcel(String filePath) {  
        try {  
            // 创建工作薄  
            WritableWorkbook wwb = Workbook.createWorkbook(new File(filePath));  
            // 创建工作表  
            WritableSheet ws = wwb.createSheet("Sheet1", 0);  
            // 添加标签文本  
            // Random rnd = new Random((new Date()).getTime());  
            // int forNumber = rnd.nextInt(100);  
            // Label label = new Label(0, 0, "test");  
            // for (int i = 0; i < 3; i++) {  
            // ws.addCell(label);  
            // ws.addCell(new jxl.write.Number(rnd.nextInt(50), rnd  
            // .nextInt(50), rnd.nextInt(1000)));  
            // }  
            // 添加图片(注意此处jxl暂时只支持png格式的图片)  
            // 0,1分别代表x,y 2,5代表宽和高占的单元格数  
            ws.addImage(new WritableImage(5, 5, 2, 5, new File(  
                    "mnt/sdcard/nb.png")));  
            wwb.write();  
            wwb.close();  
        } catch (Exception e) {  
            System.out.println(e.toString());  
        }  
    }  

分享到:
评论

相关推荐

    android读取Excel文件(Android studio开发环境)

    2. **读取Excel文件**:在Android应用中,我们通常会在一个后台线程(如AsyncTask)中执行文件读取,以避免阻塞UI。以下是一个简单的示例: ```java private class ReadExcelTask extends AsyncTask, Void, List...

    Android Excel文件写入和读取

    在Android应用开发中,有时需要处理大量的结构化数据,这时Excel文件就成为一个理想的存储选择,因为它们便于人类阅读,同时也方便程序进行数据处理。本文将详细介绍如何在Android中实现Excel文件的读取与写入。 ...

    Android应用读取Excel文件的方法

    总之,Android应用读取Excel文件主要依赖第三方库,如jExcelAPI,通过创建Workbook对象来打开文件,然后通过Sheet和Cell对象进行数据的读取。同时,不要忘记处理权限问题,以确保应用能在不同Android版本上正常工作...

    android读取Excel文件

    - 本地存储:Android应用通常将Excel文件存储在内部存储或外部存储中,使用File类和Environment类的方法来获取路径。 - 网络下载:如果文件来自网络,需要先通过HttpURLConnection或OkHttp等库下载到本地,然后再...

    Android使用读取Excel文件.pdf

    总结起来,这个例子展示了如何在Android应用中使用Apache POI库读取和创建Excel文件,这对于需要处理数据导入导出或者与Excel文件交互的应用非常有用。在实际开发中,可以进一步扩展这些基础功能,例如处理更复杂的...

    android 读取Excel文件转成xml文件

    在Android平台上,有时候我们需要处理...通过以上步骤,我们可以实现Android应用从Excel文件读取数据并转换为XML文件,从而灵活地在应用中使用这些数据。这个过程对于数据迁移、数据交换或数据处理等任务非常有用。

    Android应用源码之安卓读取Excel文件获取表格数据.zip

    本资源“Android应用源码之安卓读取Excel文件获取表格数据.zip”提供了实现这一功能的源代码示例。下面,我们将深入探讨如何在Android应用中读取Excel文件并获取其中的数据。 首先,我们需要理解的是,Android系统...

    安卓读取Excel文件获取表格数据.zip

    总之,Android应用读取Excel文件需要借助第三方库或转换文件格式。Apache POI提供了丰富的功能,但可能会增加应用大小;而CSV格式则更轻量级,但处理起来可能稍显复杂。选择哪种方法取决于具体的应用需求和资源限制...

    Android应用源码之安卓读取Excel文件获取表格数据.rar

    本资源“Android应用源码之安卓读取Excel文件获取表格数据.rar”提供了一个完整的示例,演示了如何在Android应用中实现这一功能。下面我们将详细探讨这个过程中的关键知识点。 1. **读取Excel文件**:Android系统...

    Android高级应用源码-安卓读取Excel文件获取表格数据.rar

    本项目“Android高级应用源码-安卓读取Excel文件获取表格数据”提供了这样的功能,让开发者能够轻松地在Android应用中集成Excel数据处理。下面我们将详细探讨这个主题,了解如何在Android应用中实现这一功能。 首先...

    Android应用源码之安卓读取Excel文件获取表格数据-IT计算机-毕业设计.zip

    通过ACTION_OPEN_DOCUMENT Intent,用户可以从文件管理器中选取Excel文件,然后返回文件的Uri供应用读取。 5. **异步处理**:由于读取Excel文件可能会消耗大量资源和时间,为避免阻塞UI线程,开发者可能使用了...

    一个简单的基于Android读取xls和xlsx文件的例子

    在Android平台上,处理Excel文件是常见的需求,例如数据导入、导出或数据分析。这个例子将讲解如何使用Apache POI库来读取xls和xlsx格式的文件。...通过熟练掌握POI,你可以构建出能够无缝集成Excel功能的Android应用。

    android POI 读取excel 精简jar

    此精简版可能是为了减小Android应用的体积和提高性能,移除了不必要的部分,但仍保留了读取Excel文件的核心功能。 3. **aa-poi-ooxml-schemas-3.10-reduced-more-0.1.5.jar**: 这个库文件包含了Apache POI处理...

    Android开发之读取Excel表格数据

    首先,通过`getAssets()`方法获取到AssetManager实例,然后调用`open()`方法,传入Excel文件的路径(相对于assets目录)来获取输入流。 ```java AssetManager assetManager = getAssets(); InputStream ...

    Android 安卓读取Excel文件获取表格数据-IT计算机-毕业设计.zip

    在Android平台上,开发人员经常需要处理各种数据,其中包括读取Excel文件来获取表格数据。这个“Android 安卓读取Excel文件获取表格数据”的项目是一个几年前的源码示例,适用于计算机科学专业的学生进行毕业设计...

    安卓/android 打开 excel文件源代码

    Excel文件通常用于存储和处理表格数据,而在Android应用中,用户可能需要查看、编辑或创建这些文件。本篇文章将详细介绍如何在Android应用中实现打开Excel(xls和xlsx)文件的功能。 首先,我们需要了解Android对...

    android 解析 excel 文件

    本文将详细讲解如何在Android应用中实现Excel文件的解析,主要聚焦于使用JXL库进行处理。 首先,JXL是一个Java库,专门用于读取和写入Excel文件(.xls格式),它支持Biff8格式,这是Microsoft Excel 97至2003使用的...

Global site tag (gtag.js) - Google Analytics