找不到符号类WorkbookSettings

时间:2015-11-09 06:16:59

标签: android excel

我正在尝试将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

这是什么问题?有没有图书馆问题?

2 个答案:

答案 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文件。