Android 导出数据库到Excel表格功能
16lz
2021-01-23
源码下载:
https://download.csdn.net/download/qq_31939617/10515652 下载
先上图:
MainActiviyt.class
package com.ldm.familybill;import java.io.File;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import android.annotation.SuppressLint;import android.app.Activity;import android.content.ContentValues;import android.database.Cursor;import android.os.Bundle;import android.os.Environment;import android.text.TextUtils;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;import com.ldm.db.DBHelper;import com.ldm.excel.ExcelUtils;public class MainActivity extends Activity implements OnClickListener { private static final String TAG = "MainActivity"; private EditText mFoodEdt; private EditText mArticlesEdt; private EditText mTrafficEdt; private EditText mTravelEdt; private EditText mClothesEdt; private EditText mDoctorEdt; private EditText mRenQingEdt; private EditText mBabyEdt; private EditText mLiveEdt; private EditText mOtherEdt; private EditText mRemarkEdt; private Button mSaveBtn; private File file; private String[] title = {"日期", "苹果", "桃子", "梨子", "桔子", "香蕉", "荔枝", "桂圆", "葡萄", "西瓜", "火龙果", "备注说明"}; private String[] saveData; private DBHelper mDbHelper; private ArrayList> bill2List; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewsById(); mDbHelper = new DBHelper(this); mDbHelper.open(); bill2List = new ArrayList>(); } private void findViewsById() { mFoodEdt = (EditText) findViewById(R.id.family_bill_food_edt); mArticlesEdt = (EditText) findViewById(R.id.family_bill_articles_edt); mTrafficEdt = (EditText) findViewById(R.id.family_bill_traffic_edt); mTravelEdt = (EditText) findViewById(R.id.family_bill_travel_edt); mClothesEdt = (EditText) findViewById(R.id.family_bill_clothes_edt); mDoctorEdt = (EditText) findViewById(R.id.family_bill_doctor_edt); mRenQingEdt = (EditText) findViewById(R.id.family_bill_laiwang_edt); mBabyEdt = (EditText) findViewById(R.id.family_bill_baby_edt); mLiveEdt = (EditText) findViewById(R.id.family_bill_live_edt); mOtherEdt = (EditText) findViewById(R.id.family_bill_other_edt); mRemarkEdt = (EditText) findViewById(R.id.family_bill_remark_edt); mSaveBtn = (Button) findViewById(R.id.family_bill_save); mSaveBtn.setOnClickListener(this); } @Override public void onClick(View v) { if (v.getId() == R.id.family_bill_save) { saveData = new String[]{new SimpleDateFormat("yyyy-MM-dd").format(new Date()) , mFoodEdt.getText().toString().trim() , mArticlesEdt.getText().toString().trim() , mTrafficEdt.getText().toString().trim() , mTravelEdt.getText().toString().trim() , mClothesEdt.getText().toString().trim() , mDoctorEdt.getText().toString().trim() , mRenQingEdt.getText().toString().trim() , mBabyEdt.getText().toString().trim() , mLiveEdt.getText().toString().trim() , mOtherEdt.getText().toString().trim() , mRemarkEdt.getText().toString().trim()}; if (canSave(saveData)) { ContentValues values = new ContentValues(); values.put("time", new SimpleDateFormat("yyyy-MM-dd").format(new Date())); values.put("food", mFoodEdt.getText().toString()); values.put("use", mArticlesEdt.getText().toString()); values.put("traffic", mTrafficEdt.getText().toString()); values.put("travel", mTravelEdt.getText().toString()); values.put("clothes", mClothesEdt.getText().toString()); values.put("doctor", mDoctorEdt.getText().toString()); values.put("laiwang", mRenQingEdt.getText().toString()); values.put("baby", mBabyEdt.getText().toString()); values.put("live", mLiveEdt.getText().toString()); values.put("other", mOtherEdt.getText().toString()); values.put("remark", mRemarkEdt.getText().toString()); long insert = mDbHelper.insert("my_price", values); if (insert > 0) { initData(); } } else { Toast.makeText(this, "请填写任意一项内容", Toast.LENGTH_SHORT).show(); } } } @SuppressLint("SimpleDateFormat") public void initData() { Log.e(TAG, "initData: --------------------------------"); file = new File(getSDPath() + "/My"); makeDir(file); ExcelUtils.initExcel(file.toString() + "/price.xls", title); ExcelUtils.writeObjListToExcel(getBillData(), getSDPath() + "/My/price.xls", this); } private ArrayList> getBillData() { Cursor mCrusor = mDbHelper.exeSql("select * from my_price"); while (mCrusor.moveToNext()) { ArrayList beanList = new ArrayList(); beanList.add(mCrusor.getString(1)); beanList.add(mCrusor.getString(2)); beanList.add(mCrusor.getString(3)); beanList.add(mCrusor.getString(4)); beanList.add(mCrusor.getString(5)); beanList.add(mCrusor.getString(6)); beanList.add(mCrusor.getString(7)); beanList.add(mCrusor.getString(8)); beanList.add(mCrusor.getString(9)); beanList.add(mCrusor.getString(10)); beanList.add(mCrusor.getString(11)); beanList.add(mCrusor.getString(12)); bill2List.add(beanList); } mCrusor.close(); return bill2List; } public static void makeDir(File dir) { if (!dir.getParentFile().exists()) { makeDir(dir.getParentFile()); } dir.mkdirs(); } public String getSDPath() { File sdDir = null; boolean sdCardExist = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED); if (sdCardExist) { sdDir = Environment.getExternalStorageDirectory(); } String dir = sdDir.toString(); return dir; } private boolean canSave(String[] data) { boolean isOk = false; for (int i = 0; i < data.length; i++) { if (i > 0 && i < data.length) { if (!TextUtils.isEmpty(data[i])) { isOk = true; } } } return isOk; }}
源码下载:
https://download.csdn.net/download/qq_31939617/10515652 下载
更多相关文章
- Android studio连接Bmob云数据库教程
- 如何在Android平板电脑POWER按钮菜单中添加休眠功能
- android nosql 数据库对比 Realm vs ObjectBox
- 使用 EditText来调用软键盘的搜索功能
- 整理 酷炫 Android 开源UI框架 表格
- 说说在 Android 中如何实现记住密码功能
- Android 短信数据库详细介绍
- Android倒计时功能的实现
- Android 使用ORMLite 操作数据库