하나의 응용 프로그램을 준비 중입니다. 응용 프로그램에 데이터베이스 (SQlite)가 있습니다. 내 데이터베이스 내 데이터베이스에는 14 개의 열과 테이블 및 데이터가 포함되어 있습니다. 하나의 버튼을 클릭하면 해당 데이터를 xls 파일로 내보내고 싶습니다. 가능합니다. 안내하고 튜토리얼을 제공하십시오.안드로이드에서 버튼을 클릭하면 데이터베이스가 xls 파일로 내보내시겠습니까?
답변
이런 식으로 라이브러리를 opencsv 사용할 수 있습니다 파일 ..
File dbFile=getDatabasePath("yourdatabase.sqlite");
File exportDir = new File(Environment.getExternalStorageDirectory()+"/XLS", "");
if (!exportDir.exists())
{
Log.d("export", ""+exportDir);
exportDir.mkdirs();
}
File file = new File(exportDir, "Your file.xls");
db=dba.openDataBase();
file.createNewFile();
CSVWriter csvWrite8 = new CSVWriter(new FileWriter(file8));
Cursor curCSV8=db.rawQuery("Select * from tablename",null);
if(curCSV.moveToFirst())
{
curCSV.moveToFirst();
Log.d("log is","No of Column is ---->>>"+curCSV.getColumnNames().length);
do
{
String arrStr[] ={curCSV.getString(0),curCSV.getString(1),curCSV.getString(2),curCSV.getString(3),curCSV.getString(4),curCSV.getString(5),curCSV.getString(6),curCSV.getString(7),curCSV.getString(8),curCSV.getString(9),curCSV.getString(10),curCSV.getString(11),curCSV.getString(12),curCSV.getString(13),curCSV.getString(14),curCSV.getString(15),curCSV.getString(16),curCSV.getString(17),curCSV.getString(18),curCSV.getString(19),curCSV.getString(20),curCSV.getString(21),curCSV.getString(22),curCSV.getString(23),curCSV.getString(25),curCSV.getString(26),curCSV.getString(27),curCSV.getString(28),curCSV.getString(29)};
csvWrite.writeNext(arrStr);
}while(curCSV.moveToNext());
}
csvWrite.close();
@Chiru이 답변보기 ... 희망이 도움이 되길 바랍니다. –
괜찮습니다. 파일은 오픈 오피스에서만 열립니다. 그러나 마이크로 소프트 엑셀은 열었지만 거친 형식입니다. –
셀 너비를 조정해야합니다 ... –
내 솔루션은 두 번째 단계에서 다음의 첫 번째 단계에서 CSV로 SQLite는 데이터베이스를 변환하는 것은 opencsv- (XLS에 CSV 파일을 변환하는 것입니다 그리고 당신은이 라이브러리가 필요합니다, 나를 위해 잘 작동 1.7.jar, poi-3.8-20120326.jar)
public class ExportDatabaseCSVTask extends AsyncTask<String, Void, Boolean>
{
private final ProgressDialog dialog = new ProgressDialog(DatabaseExampleActivity.this);
@Override
protected void onPreExecute()
{
this.dialog.setMessage("Exporting database...");
this.dialog.show();
}
protected Boolean doInBackground(final String... args)
{
File dbFile=getDatabasePath("database_name");
//AABDatabaseManager dbhelper = new AABDatabaseManager(getApplicationContext());
AABDatabaseManager dbhelper = new AABDatabaseManager(DatabaseExampleActivity.this) ;
System.out.println(dbFile); // displays the data base path in your logcat
File exportDir = new File(Environment.getExternalStorageDirectory(), "");
if (!exportDir.exists())
{
exportDir.mkdirs();
}
File file = new File(exportDir, "excerDB.csv");
try
{
if (file.createNewFile()){
System.out.println("File is created!");
System.out.println("myfile.csv "+file.getAbsolutePath());
}else{
System.out.println("File already exists.");
}
CSVWriter csvWrite = new CSVWriter(new FileWriter(file));
//SQLiteDatabase db = dbhelper.getWritableDatabase();
Cursor curCSV=db.getdb().rawQuery("select * from " + db.TABLE_NAME,null);
csvWrite.writeNext(curCSV.getColumnNames());
while(curCSV.moveToNext())
{
String arrStr[] ={curCSV.getString(0),curCSV.getString(1),curCSV.getString(2)};
/*curCSV.getString(3),curCSV.getString(4)};*/
csvWrite.writeNext(arrStr);
}
csvWrite.close();
curCSV.close();
/*String data="";
data=readSavedData();
data= data.replace(",", ";");
writeData(data);*/
return true;
}
catch(SQLException sqlEx)
{
Log.e("MainActivity", sqlEx.getMessage(), sqlEx);
return false;
}
catch (IOException e)
{
Log.e("MainActivity", e.getMessage(), e);
return false;
}
}
protected void onPostExecute(final Boolean success)
{
if (this.dialog.isShowing())
{
this.dialog.dismiss();
}
if (success)
{
Toast.makeText(DatabaseExampleActivity.this, "Export succeed", Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(DatabaseExampleActivity.this, "Export failed", Toast.LENGTH_SHORT).show();
}
}
}
내보내기 CSV XLS 부분에
public class CSVToExcelConverter extends AsyncTask<String, Void, Boolean> {
private final ProgressDialog dialog = new ProgressDialog(DatabaseExampleActivity.this);
@Override
protected void onPreExecute()
{
this.dialog.setMessage("Exporting to excel...");
this.dialog.show();
}
@Override
protected Boolean doInBackground(String... params) {
ArrayList arList=null;
ArrayList al=null;
//File dbFile= new File(getDatabasePath("database_name").toString());
File dbFile=getDatabasePath("database_name");
String yes= dbFile.getAbsolutePath();
String inFilePath = Environment.getExternalStorageDirectory().toString()+"/excerDB.csv";
outFilePath = Environment.getExternalStorageDirectory().toString()+"/test.xls";
String thisLine;
int count=0;
try {
FileInputStream fis = new FileInputStream(inFilePath);
DataInputStream myInput = new DataInputStream(fis);
int i=0;
arList = new ArrayList();
while ((thisLine = myInput.readLine()) != null)
{
al = new ArrayList();
String strar[] = thisLine.split(",");
for(int j=0;j<strar.length;j++)
{
al.add(strar[j]);
}
arList.add(al);
System.out.println();
i++;
}} catch (Exception e) {
System.out.println("shit");
}
try
{
HSSFWorkbook hwb = new HSSFWorkbook();
HSSFSheet sheet = hwb.createSheet("new sheet");
for(int k=0;k<arList.size();k++)
{
ArrayList ardata = (ArrayList)arList.get(k);
HSSFRow row = sheet.createRow((short) 0+k);
for(int p=0;p<ardata.size();p++)
{
HSSFCell cell = row.createCell((short) p);
String data = ardata.get(p).toString();
if(data.startsWith("=")){
cell.setCellType(Cell.CELL_TYPE_STRING);
data=data.replaceAll("\"", "");
data=data.replaceAll("=", "");
cell.setCellValue(data);
}else if(data.startsWith("\"")){
data=data.replaceAll("\"", "");
cell.setCellType(Cell.CELL_TYPE_STRING);
cell.setCellValue(data);
}else{
data=data.replaceAll("\"", "");
cell.setCellType(Cell.CELL_TYPE_NUMERIC);
cell.setCellValue(data);
}
//*/
// cell.setCellValue(ardata.get(p).toString());
}
System.out.println();
}
FileOutputStream fileOut = new FileOutputStream(outFilePath);
hwb.write(fileOut);
fileOut.close();
System.out.println("Your excel file has been generated");
} catch (Exception ex) {
ex.printStackTrace();
} //main method ends
return true;
}
protected void onPostExecute(final Boolean success)
{
if (this.dialog.isShowing())
{
this.dialog.dismiss();
}
if (success)
{
Toast.makeText(DatabaseExampleActivity.this, "file is built!", Toast.LENGTH_LONG).show();
}
else
{
Toast.makeText(DatabaseExampleActivity.this, "file fail to build", Toast.LENGTH_SHORT).show();
}
}
}
- 1. 이미지가있는 HTML 파일을 Excel 단일 XLS 파일로 내보내시겠습니까?
- 2. MSSqlServer2000 데이터를 텍스트 파일로 내보내시겠습니까?
- 3. MSSQL 테이블 정보를 CSV 파일로 내보내시겠습니까?
- 4. 버튼을 클릭하면 안드로이드에서 미디어 스캐너를 호출하는 방법
- 5. IE6 XLS 파일을 XLS 파일로 열기
- 6. 안드로이드에서 xls to hashmap
- 7. 방법 : 이벤트를 단일 iCalendar 파일로 내보내시겠습니까?
- 8. 루비 보석 .. 서버로 내보내시겠습니까?
- 9. 안드로이드에서 해당 버튼을 클릭하면 앞으로 또는 뒤로 움직일 수 있습니까?
- 10. 버튼을 클릭하면 HTML이로드됩니다. GWT
- 11. 입력 버튼을 클릭하면, 액션
- 12. 버튼을 클릭하면 팝업이 생성됩니다.
- 13. 버튼을 클릭하면 exe_bad_action이됩니다.
- 14. 버튼을 클릭하면 EpandableListView가 펼쳐집니다.
- 15. 버튼을 클릭하면 새로운보기가 렌더링됩니다.
- 16. 버튼을 클릭하면 화면이 변경됩니다.
- 17. 탐색 버튼을 클릭하면 외부
- 18. 버튼을 클릭하면 모양이 사라집니다.
- 19. 버튼을 클릭하면 이미지가 회전합니다.
- 20. 버튼을 클릭하면 JPanel이 변경됩니다.
- 21. # 버튼을 클릭하면 텍스트가 표시됩니다.
- 22. 버튼을 클릭하면 내용을 다시로드
- 23. 내가 버튼을 클릭하면 JTextPane가
- 24. 버튼을 클릭하면 이벤트가 실행됩니다.
- 25. (ExpandableListView), 버튼을 클릭하면 ImageView
- 26. 우리가 검색 버튼을 클릭하면
- 27. 안드로이드에서 파일로 /로부터 로딩하기
- 28. vs.net에서 csv 파일을 XLS 파일로 변환하는 방법
- 29. 엑셀 xls 파일을 xml 파일로 변환 자동화
- 30. .xls 파일을 .dbf 파일로 변환하는 방법?
당신은 .csv로 또는 .xls 파일 ... 해당 라이브러리와 몇 가지 예에 대한 구글 검색이 .. –
는 U를 순전히 감사하기 위해 SQLite 데이터베이스를 변환하는 라이브러리를 opencsv 사용할 수 있습니다 제안을 창피해라. 나는 잘 작동하는 opencsv를 사용한다. –