要在安卓上操作 doc、 xls 、 ppt , 還有 docx ... 07 版格式的文件,另外還有PDF。搜索了一下,還是有不少的開源項目,胡亂列一下:
兩個比較大的,
1. apache POI
用這個操作了一下,不知道爲什麼文件都打不開。另外,看了看 3.6 的API 確實比較亂,看不太懂,要耐心。
package com.ex.doc;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.usermodel.Range;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class Doc extends Activity {
private TextView doc_text = null;
private Button btn_show = null;
private String pathname = "/mnt/sdcard/test.doc";
private String content = "content";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_doc);
File f1 = new File(pathname); // File(pathname);
//openFile(f1);
content = f1.toString(); //將文件信息轉換爲可理解的 如路徑
HWPFDocument doc = null;
try {
doc = new HWPFDocument(new FileInputStream(pathname));
} catch (FileNotFoundException e) {
// TODO 自動生成的 catch 塊
e.printStackTrace();
} catch (IOException e) {
// TODO 自動生成的 catch 塊
e.printStackTrace();
}
Range r = doc.getRange();
content = r.text();
doc_text = new TextView(this);
btn_show = new Button(this);
this.btn_show = (Button)super.findViewById(R.id.btn_show); //加 super 加強制轉換
this.doc_text = (TextView)super.findViewById(R.id.hello);//
this.btn_show.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO 自動生成的方法存根
doc_text.setText("help");//doc_text.setText("hello hello!!!");
new AlertDialog.Builder(Doc.this).setTitle("Tips").setMessage(content).show();
}
});
}
2. iText
好像有人說 iText 寫 word 很方便,但讀的話卻不是很方便, 不知道是不是,看了下 API 的OVEVIEW ,比較清楚,不過內容好多啊,看見就怕。
另外看見一個 CSDN 上的一篇文章 基於Android的Word文檔閱讀器,下來運行了下,也是死掉,可以再研究一下,思路似乎也不錯,DOC 轉 HXML 顯示。