我想在android中以表格形式显示我的excel表格数据。为此,我已经成功在输出中显示了excel数据,但没有以表格形式显示。
答案 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");