我正在尝试将SQLite数据导出到Excel文件。 我在按钮点击事件中添加了导出代码。 我的代码如下:
mBtnExport.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String fileName = "Data.xls";
//Saving file in external storage
File sdCard = Environment.getExternalStorageDirectory();
File directory = new File(sdCard.getAbsolutePath() + "/ExportToExcel");
//create directory if not exist
if (!directory.isDirectory()) {
directory.mkdirs();
}
//file path
File file = new File(directory, fileName);
WorkbookSettings wbSettings = new WorkbookSettings();
wbSettings.setLocale(new Locale("en", "EN"));
WritableWorkbook workbook;
Log.i("Path=================", file.getAbsolutePath());
try {
workbook = Workbook.createWorkbook(file, wbSettings);
//Excel sheet name. 0 represents first sheet
WritableSheet sheet = workbook.createSheet("User Detail", 0);
try {
sheet.addCell(new Label(0, 0, "")); // column and row
sheet.addCell(new Label(1, 0, "Age"));
for (int i = 0; i < mData.size(); i++) {
//String title = cursor.getString(cursor.getColumnIndex(DatabaseHelper.TODO_SUBJECT));
String title = mData.get(i).getmName();
String age = mData.get(i).getmAge();
sheet.addCell(new Label(0, i + 1, title));
sheet.addCell(new Label(1, i + 1, age));
}
//closing cursor
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
workbook.write();
try {
workbook.close();
} catch (WriteException e) {
e.printStackTrace();
}
} catch (IOException e) {
e.printStackTrace();
}
Toast.makeText(getActivity(), "Exported", Toast.LENGTH_SHORT).show();
}
});
依赖 build.gradle :
dependencies {
compile 'com.android.support:appcompat-v7:23.0.1'
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'jexcelapi:jxl:2.6'
compile 'com.madgag:sc-light-jdk15on:1.47.0.3'
compile 'com.itextpdf:itextpdf:5.5.7'
}
错误日志:
Error:(218, 17) error: cannot find symbol class WorkbookSettings
Error:(218, 51) error: cannot find symbol class WorkbookSettings
Error:(220, 17) error: cannot find symbol class WritableWorkbook
Error:(223, 32) error: cannot find symbol variable Workbook
Error:(225, 21) error: cannot find symbol class WritableSheet
这是什么问题?有没有图书馆问题?
答案 0 :(得分:2)
我遇到了同样的问题,并通过添加最新的jexcel jar解决了这个问题。我从https://sourceforge.net/projects/jexcelapi/下载了最新的zip文件,解压缩了jxl.jar,在Android Studio中创建了一个lib文件夹并将jar文件粘贴到lib文件夹中。最后选择jar,右键单击并选择“add as library”。重建项目,错误应该得到解决。
答案 1 :(得分:0)
那里的一切都很好,我只需要通过右键单击特定的.jar文件,将添加为库添加到libs文件夹中包含的所有.jar文件。