如何以表格形式显示Excel数据?

时间:2019-10-30 12:49:18

标签: android

我想在android中以表格形式显示我的excel表格数据。为此,我已经成功在输出中显示了excel数据,但没有以表格形式显示。

2 个答案:

答案 0 :(得分:0)

如何使用python服务器?
您可以按表格分析数据,并从服务器中获取Android中的数据。

例如,

import numpy as np
import tabula
import csv
import re

PDF_FILE_NAME = "ORIGINAL3.pdf" 
CSV_FILE_NAME = "output.csv"

# Read pdf into DataFrame

df = tabula.read_pdf(PDF_FILE_NAME)
df = df.replace(np.nan, '', regex=True)
print(df)
print(df.shape)
tabula.convert_into(PDF_FILE_NAME, "output.csv", output_format="csv")

with open(CSV_FILE_NAME, 'r') as csvFile:
    reader = csv.reader(csvFile)
    for row in reader:
        row = [x for x in row if x != '']
        row = [x.split() for x in row]
        flatten = [item for sublist in row for item in sublist]

        pattern = '\d\d\.'
        if not re.match(pattern, flatten[0]):
            continue

        print(flatten)
        print('\n')

如果您想在Java中使用Tabula,请
我认为,这是改变解决方法的好方法,就像我的建议一样。

答案 1 :(得分:0)

您可以在Android中读取CSV文件,然后使用HTML <td></td>包装每个值,然后为表添加必要的HTML并显示在webview组件中。

这是我在Android中以表格格式显示CSV数据的方式。

例如诸如此类(未经测试,是我使用的代码的混搭)


// Do file opening stuff

StringBuilder stringBuilder = new StringBuilder();

BufferedReader reader;
            reader = new BufferedReader(new InputStreamReader(fileInputStream));
     while( (line = reader.readLine()) != null) {
       stringBuilder.append("<tr>\n");
       String[] RowData = line.split(",");
       for( String cell : RowData) {
          stringBuilder.append("<td>").append(cell).append("</td>\n");
       }

       stringBuilder.append("</tr>\n");

   }

   String htmlHeader = "<!DOCTYPE html>\n<html><meta charset=\"UTF-8\"><body><table>";
   String htmlFooter = "</table></body></html>";

   String finalHTML = htmlHeader + stringBuilder.toString() + htmlFooter;

   webView = (WebView) findViewById(R.id.WebView);
   webView.loadData(finalHTML, "text/html; charset=utf-8", "UTF-8");