Android 怎么将sqlite中数据 导出成excel 放在sd 卡

赵梓颀 2013-11-11 03:03:47
我是个初学者 哪位大侠可以给一份简单的源码 单击某个按钮如“导出数据” 就可以
1,让用户选择导出位置
2,将SQLite中的数据读出来生成excel文件,写在刚才用户选择的位置
最好能用POI解决
...全文
1777 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq838256018 2014-04-21
  • 打赏
  • 举报
回复
导出CSV,引用C#行吗?我这有一个帮助类,直接传入参数就行,我是在C#里用一个SaveFlieDialog获得路径,然后将表和路径传入,调用类中的方法如下:
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Data;

namespace Utility
{
    public class CSVHelper
    {
        //导出为svc文件,strFileName为要导出的csv格式文件的路径和文件名:比如,"d:\test\test.csv"
        public void ExportToSvc(System.Data.DataTable dt, string strFileName)
        {
            string strPath = strFileName;
            if (File.Exists(strPath))
            {
                File.Delete(strPath);
            }
            //先打印标头
            StringBuilder strColu = new StringBuilder();
            StringBuilder strValue = new StringBuilder();
            int i = 0;
            try
            {
                StreamWriter sw = new StreamWriter(new FileStream(strPath, FileMode.CreateNew), Encoding.GetEncoding("GB2312"));

                for (i = 0; i <= dt.Columns.Count - 1; i++)
                {
                    strColu.Append(dt.Columns[i].ColumnName);
                    strColu.Append(",");
                }
                strColu.Remove(strColu.Length - 1, 1);//移出掉最后一个,字符

                sw.WriteLine(strColu);

                foreach (DataRow dr in dt.Rows)
                {
                    strValue.Remove(0, strValue.Length);//移出

                    for (i = 0; i <= dt.Columns.Count - 1; i++)
                    {
                        strValue.Append(dr[i].ToString());
                        strValue.Append(",");
                    }
                    strValue.Remove(strValue.Length - 1, 1);//移出掉最后一个,字符
                    sw.WriteLine(strValue);
                }

                sw.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            System.Diagnostics.Process.Start(strPath);
        }
    }
}
你实例化这个类用下行么
赵梓颀 2013-11-20
  • 打赏
  • 举报
回复
引用 楼主 qinghegu689 的回复:
我是个初学者 哪位大侠可以给一份简单的源码 单击某个按钮如“导出数据” 就可以 1,让用户选择导出位置 2,将SQLite中的数据读出来生成excel文件,写在刚才用户选择的位置 最好能用POI解决
public void datatrans_DataOut() throws IOException {// export data String sql = " select * from " + TaskfieldEntry.TNAME; String[] selectionArgs = null; TaskfieldDAO taskfieldDAO = new TaskfieldDAO(DataTransActivity.this); List<TaskfieldBean> taskBeanlist = taskfieldDAO.queryBySQL(sql, selectionArgs); File fileNameFile = getExportFile(); if (fileNameFile != null) { FileOutputStream f = new FileOutputStream(fileNameFile); // 新建工作薄 HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet workSheet = workbook .createSheet(TaskfieldEntry.CNAME_V_MEMO); // 生成表头 HSSFRow fieldRow = workSheet.createRow(0); fieldRow.createCell(0).setCellValue( /* TaskfieldEntry.CNAME_V_FID */"任务编号"); fieldRow.createCell(1).setCellValue( /* TaskfieldEntry.CNAME_V_MEMO */"任务标题"); // 表内容 for (int i = 0; i < taskBeanlist.size(); i++) { TaskfieldBean t = taskBeanlist.get(i); HSSFRow row = workSheet.createRow(i + 1); row.createCell(0).setCellValue(t.getF_id()); row.createCell(1).setCellValue(t.getMemo()); } workbook.write(f); f.close(); Toast.makeText(this, "提示:导出成功!", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(this, "export failed,create file failed in sdcard", Toast.LENGTH_SHORT).show(); } }
赵梓颀 2013-11-12
  • 打赏
  • 举报
回复
引用 6 楼 BCBPLC 的回复:
我用C++做导出XLS功能就是这么做的,很简单。
Java的会不会
赵梓颀 2013-11-12
  • 打赏
  • 举报
回复
引用 4 楼 lieri111 的回复:
首先把数据取出,其次自己用java生成一个excel 把数据写进去,这样比较灵活
给个demo瞧瞧
BCBPLC 2013-11-11
  • 打赏
  • 举报
回复
我用C++做导出XLS功能就是这么做的,很简单。
BCBPLC 2013-11-11
  • 打赏
  • 举报
回复
从数据库里生成纯文本文件很简单,文本用GBK码制, 这列与列之间用 0x9即TAB分隔,行与行用\n, 文件类型用.XLS,就是最简单的电子表格格式了。
passself 2013-11-11
  • 打赏
  • 举报
回复
首先把数据取出,其次自己用java生成一个excel 把数据写进去,这样比较灵活
赵梓颀 2013-11-11
  • 打赏
  • 举报
回复
引用 2 楼 Enter_yl 的回复:
帮你顶一下,建议写成豆号分隔符存为CVR文件,就可以用EXCEL表格打开了。
大哥,是CVS吧
银离子软件 2013-11-11
  • 打赏
  • 举报
回复
帮你顶一下,建议写成豆号分隔符存为CVR文件,就可以用EXCEL表格打开了。
罗小辉 2013-11-11
  • 打赏
  • 举报
回复
帮你顶一下
内容概要:本文围绕可变桨叶四旋翼无人机的规范控制与点对点运动模拟展开,重点研究优化推力分配策略在翻转动作的应用与性能比较。通过Matlab代码实现,构建了四旋翼动力学模型,并设计了多种控制算法以实现精确的姿态调整与轨迹跟踪。研究对比了不同推力分配方案在执行高机动性翻转动作时的稳定性、能耗效率与响应速度,旨在提升无人机在复杂飞行任务的动态性能与控制精度。该仿真研究为无人机飞控系统的设计与优化提供了理论依据和技术支持。; 适合人群:具备一定自动控制理论基础和Matlab编程能力,从事无人机控制、飞行器动力学或机器人系统研究的科研人员及研究生。; 使用场景及目标:① 实现四旋翼无人机在三维空间的精确点对点运动控制;② 对比分析不同推力分配策略在执行翻转等高难度动作时的控制效果与能耗表现,优化飞行性能;③ 为无人机自主飞行、特技飞行及复杂环境下的机动控制提供算法验证平台。; 阅读建议:此资源以Matlab仿真为核心,建议读者结合相关控制理论知识,深入理解代码实现细节,重点关注动力学建模、控制律设计与推力分配模块。在学习过程,应动手调试参数,复现文翻转动作的仿真结果,并尝试拓展至其他复杂飞行任务,以加深对无人机控制机理的理解。

80,489

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧