c#中excel文件怎么转换为dbf文件
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.OleDb;
using System.IO;
namespace TransDBFClass
{
public class TransDBFClass
{
/// <summary>
/// 将Access数据库转换为Excel表格
/// </summary>
/// <param name="DbPath">Access数据库所在文件路径</param>
public void AccessToExcel(string DbPath)
{
//OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\project\TransDBF\db.mdb;");
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + DbPath + ";");
try
{
conn.Open();
DataTable dt = conn.GetSchema("Tables");//获取ACCESS数据库中所有的表\查询\宏\窗体\模块
string p = "c:\\dbf";
if (!System.IO.Directory.Exists(p))
{
System.IO.Directory.CreateDirectory(p);
}
string[] vFiles = Directory.GetFiles(p);
foreach (string vFile in vFiles)
File.Delete(vFile);
for (int i = 0; i < dt.Rows.Count; i++)
{
try
{
string tablename = "";
if (dt.Rows[i].ItemArray[3].ToString() == "TABLE")//判断是否是用户表
{
tablename = dt.Rows[i].ItemArray[2].ToString();//获取数据表名
}
//转换Access为dbf格式数据sql语句
// String sql = "SELECT * INTO [dBASE 5.0; Database=C:\\dbf;]." + tablename + ".dbf FROM " + tablename;
String sql = "SELECT * INTO [Excel 5.0;Database=C:\\dbf\\dbf.xls ]." + "[" + tablename + "] FROM " + tablename;
OleDbCommand cmd = new OleDbCommand(sql, conn);
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
}
}
}
catch (Exception ex)
{
File.AppendAllText(@"c:\1.txt",ex.ToString());
}
finally
{
conn.Close();
}
}
/// <summary>
/// 将已经转换了的Excel表转换为Dbf格式方法
/// </summary>
public void ExcelToDbf()
{
OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\dbf\dbf.xls;Extended Properties=Excel 8.0;");
try
{
conn.Open();
DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
for (int i = 0; i < dt.Rows.Count; i++)
{
try
{
string tablename = "";
if (dt.Rows[i].ItemArray[3].ToString() == "TABLE")//判断是否是用户表
{
tablename = dt.Rows[i].ItemArray[2].ToString();//获取数据表名
}
//转换Excel为dbf格式数据sql语句
String sql = "SELECT * INTO [dBASE 5.0; Database=C:\\dbf;].DBF" + i + ".dbf FROM " + tablename;
// String sql = "SELECT * INTO [Excel 5.0;Database=C:\\dbf\\dbf.xls ]." + "[" + tablename + "] FROM " + tablename;
if (tablename.IndexOf('$') >= 0)
{
continue;
}
else
{
OleDbCommand cmd = new OleDbCommand(sql, conn);
cmd.ExecuteNonQuery();
}
}
catch (Exception ex)
{
}
}
}
catch (Exception ex)
{
File.AppendAllText(@"c:\2.txt",ex.ToString());
}
finally
{
conn.Close();
}
}
}
}
还有一种带密码访问的
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.OleDb;
using System.IO;
namespace TransDBFClass
{
public class TransDBFClass
{
/// <summary>
/// 将Access数据库转换为Excel表格
/// </summary>
/// <param name="DbPath">Access数据库所在文件路径</param>
public void AccessToExcel(string DbPath)
{
//OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\project\TransDBF\db.mdb;");
//OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + DbPath + ";Persist Security Info=False;Jet OLEDB:Database Password=sa;");
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + DbPath + ";Jet OLEDB:Database Password=sa;");
try
{
conn.Open();
DataTable dt = conn.GetSchema("Tables");//获取ACCESS数据库中所有的表\查询\宏\窗体\模块
string p = "d:\\dbf";
if (!System.IO.Directory.Exists(p))
{
System.IO.Directory.CreateDirectory(p);
}
string[] vFiles = Directory.GetFiles(p);
foreach (string vFile in vFiles)
File.Delete(vFile);
for (int i = 0; i < dt.Rows.Count; i++)
{
try
{
string tablename = "";
if (dt.Rows[i].ItemArray[3].ToString() == "TABLE")//判断是否是用户表
{
tablename = dt.Rows[i].ItemArray[2].ToString();//获取数据表名
}
//转换Access为dbf格式数据sql语句
// String sql = "SELECT * INTO [dBASE 5.0; Database=C:\\dbf;]." + tablename + ".dbf FROM " + tablename;
String sql = "SELECT * INTO [Excel 5.0;Database=d:\\dbf\\dbf.xls ]." + "[" + tablename + "] FROM " + tablename;
OleDbCommand cmd = new OleDbCommand(sql, conn);
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
}
}
}
catch (Exception ex)
{
File.AppendAllText(@"c:\1.txt",ex.ToString());
}
finally
{
conn.Close();
}
}
/// <summary>
/// 将已经转换了的Excel表转换为Dbf格式方法
/// </summary>
public void ExcelToDbf()
{
OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\dbf\dbf.xls;Extended Properties=Excel 8.0;");
try
{
conn.Open();
DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
for (int i = 0; i < dt.Rows.Count; i++)
{
try
{
string tablename = "";
if (dt.Rows[i].ItemArray[3].ToString() == "TABLE")//判断是否是用户表
{
tablename = dt.Rows[i].ItemArray[2].ToString();//获取数据表名
}
//转换Excel为dbf格式数据sql语句
String sql = "SELECT * INTO [dBASE 5.0; Database=d:\\dbf;].DBF" + i + ".dbf FROM " + tablename;
// String sql = "SELECT * INTO [Excel 5.0;Database=C:\\dbf\\dbf.xls ]." + "[" + tablename + "] FROM " + tablename;
if (tablename.IndexOf('$') >= 0)
{
continue;
}
else
{
OleDbCommand cmd = new OleDbCommand(sql, conn);
cmd.ExecuteNonQuery();
}
}
catch (Exception ex)
{
}
}
}
catch (Exception ex)
{
File.AppendAllText(@"c:\2.txt",ex.ToString());
}
finally
{
conn.Close();
}
}
}
}
c#中excel文件怎么转换为dbf文件相关推荐
- 如何在Excel中将多个Excel文件批量转换为CSV文件?
在Excel中,我们可以使用"另存为"功能将工作簿转换为CSV文件,但是您知道如何将多个Excel文件批量转换为单独的CSV文件吗? 在本文中,我介绍了一个VBA代码,用于将文件夹 ...
- 使用win中excel打开linux下.csv文件乱码问题
使用win中excel打开linux下.csv文件乱码问题 1.问题原因 不同系统的字符集编码不一样 windows使用的是gbk格式 linux使用的是utf8格式 检查文件编码格式 file 文件 ...
- xls/csv文件转换成dbf文件
帮一个中科院小学妹写的一个小脚本,主要是利用python中的pandas,xlrd,dbfpy包将excel中的xls/csv文件中转化成dbf文件 一.安装相关包 pip install xlrd ...
- 用html打开dbf文件怎么打开,dbf格式文件是什么 dbf文件用什么软件打开
有小伙伴反映说,清理电脑时看到了dbf文件,不知道这是哪种类型的文件,也不知道有什么作用,不敢轻易删除.数据库文件的扩展名,是很多企业单位用于数据交换.那么dbf格式的文件如何打开呢? dbf格式文件 ...
- 将DWG文件批量转换为JPG文件
我们在工作上需要将DWG文件转换为JPG文件,在公司里有很多的DWG文件图纸转换JPG文件,我们不可能一个一个的转换,这时候我们为了提高工作效率需要将DWG文件批量转换为JPG文件,DWG文件批量转换 ...
- 记录----如何将FLV格式文件快速转换为mp4文件
如何将FLV格式文件快速转换为mp4文件 今天用硕鼠下载视频的时候发现下载出来的视频是.flv格式的,没有相应的播放器无法播放,于是找了个方法把它转换为MP4文件,记录一下 第一步 下载一个辅助工具, ...
- 如何在谷歌地球上画路线或者运动轨迹?根据纬经高信息在谷歌地球Google earth中画运动轨迹,首先将Excel文件纬经高信息转换为.csv文件,再转换为.kml文件,最终在谷歌地球中显示。
(制作运动轨迹的前提是装有谷歌地球和CSV2kml转换工具, CSV2kml转换工具的下载可在下列链接中下载https://download.csdn.net/download/howe1233/10 ...
- android 文件流转换为zip文件_PDF文件如何转换为TXT文本?教您一招高效转换的方法...
我们见过很多的文件格式,如果说最常见的文件格式想必要属于TXT文本格式了. 大多数人都用过TXT文本格式临时记录几件事或者临时记录几句话,毕竟TXT文件是微软在操作系统中附带的一种文本格式. 如果说T ...
- gdal java shp_【GDAL/OGR】利用GDAL/OGR读取shp文件并转换为json文件(Java版)
前言: 对于GIS开发者来说,GDAL/OGR是最熟悉不过的开源GIS库了,GDAL(Geospatial Data Abstraction Library)是一个在X/MIT许可协议下的开源栅格空间 ...
- CAD文件怎么转换为DWF文件
小编最近遇到一个难题"怎么将CAD文件转换为DWF文件,一直没有好的方法,在网站花了很长的时间才会怎么转换,为了大家少走弯路,小编分享就分享个大家怎么将CAD文件转换为DWF文件. 小编是在 ...
最新文章
- 商汤科技不等于人脸识别!它正在赋予AI更强的“存在感”
- 关于TCP下SOCKET的一些测试
- HTML meta refresh 刷新与跳转(重定向)页面
- Newbe.Claptrap 框架入门,第一步 —— 开发环境准备
- 【Git】GitHub主页从Dark调回Light的方法
- 空间组网(卫星组网)概述
- node.js学习之npm 入门 —8.《怎样创建,发布,升级你的npm,node模块》
- BZOJ 4034 树上操作
- 解包操作符 python_用解包操作符 * 解包列表
- 肖风:分布式网络是区块链机制设计的第一个层次
- 手算逆元及手动模拟扩展欧几里得算法及思路推导
- 基于stm32f303cbt6的点灯实验(硬件+软件)
- 面试面经 | 2021大疆嵌入式软件工程师笔试题B卷
- Airbnb NYC2019分析实战
- 华为鸿蒙HarmonyOS 简介
- 孩子总是偷偷玩游戏,家长该怎么办?
- vi 放弃更改退出 保存更改退出。
- speedoffice(Word)如何给文字添加下划线
- Python薅羊毛脚本
- 计算机逻辑功能测试及应用,逻辑门电路的逻辑功能及测试.doc