许多中小企业都使用QuickBooks作为其会计模块。 同样,许多公司也使用Sage进行会计处理。 他们中的大多数人在需要从这些系统中导出数据时会遇到问题。

在线提供的许多连接器价格昂贵,无法满足确切的要求。 随附的是一些简短的代码段,这些代码段说明了如何将数据导出到CSV。 我还附加了github链接来下载代码。

SAGE和Quickbook都带有ODBC驱动程序,可以对它们进行配置和编程查询

#智者

在ODBC数据源中创建一个静默ODBC DSN。

在“选项”选项卡中配置静默模式。

现在,我们将使用下面的数据源加载和导出数据。

我们将使用DotNet Core将我们的代码编写为与Windows上的DSN交流的最佳语言。

我将问题分为3个部分

  1. 从数据库加载表名
  2. 为每个表加载数据集
  3. 将每个表从DataSet导出到CSV
private static List loadTableNames(string connectionString){var tableNames = new List();using (OdbcConnection connection =new OdbcConnection(connectionString)){try{connection.Open();using(DataTable tableschema = connection.GetSchema("Tables")){// first column nameforeach(DataRow row in tableschema.Rows){tableNames.Add(row["TABLE_NAME"].ToString());//Console.WriteLine(row["TABLE_NAME"].ToString());}}}catch (Exception ex){Console.WriteLine(ex.Message);}}return tableNames;}

现在我们需要编写代码以加载给定表的数据。 在这种情况下,我将使用DataSet。 有很多方法可以做到这一点。

public static DataSet GetDataSetFromAdapter(DataSet dataSet, string connectionString, string queryString){using (OdbcConnection connection =new OdbcConnection(connectionString)){OdbcDataAdapter adapter =new OdbcDataAdapter(queryString, connection);// Open the connection and fill the DataSet.try{connection.Open();adapter.Fill(dataSet);}catch (Exception ex){Console.WriteLine(ex.Message);}// The connection is automatically closed when the// code exits the using block.}return dataSet;}

最后是将所有数据导出到CSV的功能

<span id="mce_SELREST_start" style="overflow:hidden;line-height:0;"></span>private static string ConvertToCSV(DataSet objDataSet){StringBuilder content = new StringBuilder();if (objDataSet.Tables.Count >= 1){DataTable table = objDataSet.Tables[0];if (table.Rows.Count > 0){DataRow dr1 = (DataRow) table.Rows[0];int intColumnCount = dr1.Table.Columns.Count;int index=1;//add column namesforeach (DataColumn item in dr1.Table.Columns){content.Append(String.Format("\"{0}\"", item.ColumnName));if (index < intColumnCount)content.Append(",");elsecontent.Append("\r\n");index++;}//add column dataforeach (DataRow currentRow in table.Rows){string strRow = string.Empty;for (int y = 0; y <= intColumnCount - 1; y++){strRow += "\"" + currentRow[y].ToString() + "\"";if (y = 0)strRow += ",";}content.Append(strRow + "\r\n");}}}return content.ToString();}

https://github.com/ashwinrayaprolu1984/SageDataExporter.git

#QuickBooks

对于QuickBooks,我们采用相同的方法。

  1. 从文件中加载表名(Quickbooks不在其ODBC数据源中导出架构)
  2. 为每个表加载数据集
  3. 将每个表从DataSet导出到CSV

git hub下面的链接具有执行此操作的代码

https://github.com/ashwinrayaprolu1984/QuickBooksDesktopConnector.git

翻译自: https://www.javacodegeeks.com/2018/11/quickbooks-sage-data-exporter.html

QuickBooks和Sage数据导出器相关推荐

  1. WPF及Silverlight中将DataGrid数据导出

    这段源码是我在项目中实际应用的源码,没有经过删减及处理. 如果你认为有用可以摘去作为自己的导出类中的一个小工具使用. /// <summary>     /// 数据源导出辅助类      ...

  2. 用Itext把数据导出到Pdf文档

    工夫不负有心人!先用POI实现了把数据导出为Excel,现在又实现了用Itext把数据导出为Pdf文档.因为这些技术是以前都没有接触的,而现在又都基本掌握了,所以心里略有一些成就感.现把完整程序代码列 ...

  3. SQL Server 2008将数据导出为脚本 [SQL Server]

    之前我们要将一个表中的数据导出为脚本,那么只有在网上找一个导出数据的Script,然后运行就可以导出数据脚本了.现在在SQL Server 2008的Management Studio中增加了一个新特 ...

  4. bcp+Sql语句抽取数据导出

    最近由于项目的需求,需要将项目数据库中的数据按照一定的规则抽取出来,然后再导入到另外一个结构相同的数据库中:之前也使用过bcp的功能,但是只使用bcp将整个表的数据导入到一个csv文件中,查看了一下b ...

  5. SQL Server 2008将数据导出到SQL脚本文件

    1. 简介 在SQL Server Management Studio 2005 中(包括之前SQL Server 2000 的企业管理器),只能把表结构导出到SQL脚本文件中,没办法把数据导出到SQ ...

  6. C# DataGridView数据导出Excel文件

    前言: 博主在做项目的时候需要把数据库的数据用DataGridView展示,然后把展示的数据导出为Excel文件,很多时候我们做项目都会有一个下载文件的按钮,我们需要用微软的的接口,Microsoft ...

  7. excel文件导入hive乱码_把数据库数据导出到excel

    SQL Server BI Step by Step 2--- 使用SSIS进行简单的数据导入导出 让我们首先开始学习SSIS吧,利用SSIS把SQL Server中的数据导出.首先,打开Vs.net ...

  8. springboot新手项目从零开始搭建,涉及excel数据导出和邮箱发送(上)

    项目创建 idea点击New Project 创建一个新项目 左上角打开点击File打开设置 maven设置 这样 我们的项目就创建完毕了 点开左边的pom文档 将提供的依赖导入 我之前就存在一个冲突 ...

  9. hue数据导出到hdfs_如何将智能灯泡迁移到新的Philips Hue Bridge

    hue数据导出到hdfs Philips recently released a new Hue bridge with support for Apple's new HomeKit bridge. ...

最新文章

  1. babel从入门到入门
  2. 逻辑回归原理(python代码实现)
  3. 漫 谈oracle 中 的 空 值
  4. (转)完全使用gnu/linux工作
  5. WPF usercontrol 自定义依赖属性
  6. python绘制饼图双层_有趣!如何用Python-matplotlib绘制双层饼图及环形图?
  7. springboot 读写分离_springboot +ShardingJDBC 读写分离
  8. 自动化测试--实现一套完全解耦的简单测试框架
  9. [洛谷P3807]【模板】卢卡斯定理
  10. 八数码深度优先搜索_树的深度优先搜索(上)
  11. Windows不需要输密码,直接登录显示桌面
  12. gcc(g++)头文件搜索路径与库文件搜索路径(转载)
  13. 虚拟仿真实验平台服务器需求,虚拟仿真实验中心平台建设方案.pptx
  14. PS学习笔记(一):基础知识
  15. python中class什么意思_python class是什么
  16. 三国杀全武将台词大全(标准+神话再临+一将成名12345+SP+国战+其他+皮肤)
  17. beats 耳机 android,Beats app安卓,Beats app安卓耳机管理预约 v2.3.5 - 游戏盒子下载站...
  18. Unity中计算面法线与顶点法线
  19. Android计步模块优化(今日步数)
  20. Java解一元一次方程,一元二次方程,一元三次方程

热门文章

  1. 2021牛客暑期多校训练营2 L-WeChat Walk(分块)
  2. Wannafly 挑战赛27 题解
  3. 2.数据湖DeltaLake之DDL操作
  4. jsoup怎么获取两个标签之间的text?
  5. Oracle入门(五)之基本命令操作
  6. 2021未来职业规划以及对过去的总结
  7. 三班的孩子们,你们现在还好吗?
  8. 循环录入某学生 5 门课的成绩并计算平均分,如果某分数录入为负,停止录入并提示录入错误
  9. JAVA多线程总结(笔记)
  10. java正则表达式验证密码_最新密码验证正则表达式