c#中excel文件怎么转换为dbf文件 10C

c#中excel文件怎么转换为dbf文件?wpf中datagrid中的数据怎么导出到dbf中?请求各位大神帮帮忙

3个回答

dbf文件有好几种,从早期的dBase到后来的foxbase/foxpro,首先搞清楚你用的是什么格式的。
代码可以参考:
https://blog.csdn.net/dujiajiyiyi/article/details/53841398
用oledb这个驱动可以读写dbf文件。
excel转换dbf,无非就是读取excel文件,再循环插入到dbf里,而datagrid导出dbf,就是循环遍历datagrid的行,也一样循环写入dbf都是类似的。
读取excel也可以用类似上面的代码,只是驱动程序换成ace 12.0。

1, 将按照数据标准表做的EXCEL文件(注意做备份)打开,选中所有数据转化成文本格式(单元格—格式—文本—确定)

2在每列后边缘鼠标变成双击使每列展开保证每列中的数据完全可以看到

3,鼠标选取数据表内任意一数据(不可选取数据外的空白单元格)

4.点击文件——另存为,在弹出对话框另存为——保存位置选择要保存文件的位置,保存类型对话框内选择DBF4(Dbase IV)(*.dbf),文件名对话框填写自己想要的文件名,点击保存,再弹出的对话框根据提示内容点击确定 是 即可保存为所需dbf文件

使用System.Collections.Generic;
使用System.Text;
使用System.Data;
使用System.Data.OleDb;
使用System.IO;

命名空间TransDBFClass
{
public class TransDBFClass
{

///
///将Access数据库转换为Excel表格
/// </ summary>
/// Access数据库所有文件路径</ param>

公共无效AccessToExcel(字符串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 +“;”);
尝试
{
conn.Open();

DataTable dt = conn.GetSchema(“Tables”); //获取ACCESS数据库中所有的表\查询\宏\窗体\模块

字符串p =“c:\ dbf”;

如果(!System.IO.Directory.Exists(p))
{
System.IO.Directory.CreateDirectory(p);
}
string [] vFiles = Directory.GetFiles(p);
foreach(vFile中的字符串vFile)
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(); / /获取数据表名

}
//转换访问为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();

}
赶上(异常前)
{
}
}
}
赶上(异常前)
{
File.AppendAllText(@ “C:\的1.txt”,ex.ToString());
}
finally
{
conn.Close();
}

}

///
///将已经转换了的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;“);
尝试
{
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();
}
}

}
}

还有一种带密码访问的

使用系统;
使用System.Collections.Generic;
使用System.Text;
使用System.Data;
使用System.Data.OleDb;
使用System.IO;

命名空间TransDBFClass
{
public class TransDBFClass
{

///
///将Access数据库转换为Excel表格
/// </ summary>
/// Access数据库所有文件路径</ param>

公共无效AccessToExcel(字符串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;”);
尝试
{
conn.Open();

DataTable dt = conn.GetSchema(“Tables”); //获取ACCESS数据库中所有的表\查询\宏\窗体\模块

字符串p =“d:\ dbf”;

如果(!System.IO.Directory.Exists(p))
{
System.IO.Directory.CreateDirectory(p);
}
string [] vFiles = Directory.GetFiles(p);
foreach(vFile中的字符串vFile)
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(); / /获取数据表名

}
//转换访问为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();

}
赶上(异常前)
{
}
}
}
赶上(异常前)
{
File.AppendAllText(@ “C:\的1.txt”,ex.ToString());
}
finally
{
conn.Close();
}

}

///
///将已经转换了的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;“);
尝试
{
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();
}
}

}
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
通达信分时文件(*.min)转换为*.dbf文件。
希望有高手可以帮助实现,将通达信*.min文件转换成*.dbf文件,并且可以在股市开盘时间随时转换,并且长期保留数据。请与qq601308330联系,愿意支付报酬,最好居住天津及周边地区,方便联系。谢谢。
DBF文件转excel工具
很方便的数据库转换软件, 可以实现dbf转xls,也可以反向转
dbf文件转excel
不能设置为0分,最低2不知道为啥。自己写的,感觉还能用。没怎么调试。win7 office2013 下测试。
txt转换为excel文件
用于将文本当中的数据转换成excel数据文件(按单元格分开),部分杀毒软件有提示,可以关掉杀毒软件,绝对没有病毒,信不信由你
excel转换为rq文件
excel转换为rq文件,excel文件需预先保存为CVS文件,适合esale入库导入
数据库转换为Excel文件??
数据库转换为Excel文件??----怎么样做啊rn
数据库转换为Excel文件
如何将Paradox保存为Excel文件。rn要求使用DriveComboBox1指定驱动器,DirectoryListBox1指定目录。要有原代码。
怎么把datatable转换为excel文件在ie中打开
大人执教,怎么把datatable转换为excel文件在ie中打开 啊?
C#中字符怎么转换为时间
我在ASP。NET页面中取的了关于时间的字符串想把他和数据库中的时间比较,请问怎么才能把取到的字符串转化为时间格式呢谢谢
如何将EXCEL中的数据转化为DBF文件?
A B Crn1 字段一 字段二 字段三rn2 A1 B1 C1rn3 A2 B2 C2rn如何将它转换为带字段头的DBF文件,谢谢。
DataSet转换为Excel
DataSet转换为Excel
excel转换为html
请测可用,将excel转换为html,JDK要求1.7,后台类包含着文件路径。
Excel转换为CSV
Excel文件转换为CSV文件 比Excel自带转换功能好,不会有错行问题。
C# 将Excel转换为PDF
C# 将Excel转换为PDF 将Excel转换为PDF是一个很常用的功能,本篇文章将介绍三种常见的转换场景,转换整个Excel文档到PDF,转换Excel文档的某一个工作表到PDF及转换Excel文档的某一个工作表的某一部分单元格到PDF。
求助,C#,EXCEL 转换为DATASET
直接用SELECT,fill方法把EXCEL内容往DATASET读.有个问题.就是如果EXCEL某单元格无内容或者内容格式不单一(比如A1单元格是DOUBLE型,A2是'0字符串型),就会出现DATASET漏读错误单元格及错误单元格周边同列单元格的情况.rnrn若直接用循环强制把所有'0或者NULL单元格都改成0,又非常耗时.rnrn请问有什么方法解决?rnrn我对Dataset和数据处理方面都不了解,貌似看了一下用fill方法不会把约束弄进DS.那Ds怎么还是类型不匹配就出错呢?rnrnrn若需要补充问题描述请写下.rnrn谢谢大家.
用c# 将txt转换为excel
我的txt如下:rn39.4% 2013-07-03 15-38-59rn35.8 2013-07-03 15-38-59rnrn 39.5% 2013-07-03 15-39-03rn 35.8 2013-07-03 15-39-03rnrn 39.7% 2013-07-03 15-39-06rn 35.7 2013-07-03 15-39-06rnrn 39.8% 2013-07-03 15-39-10rn 35.6 2013-07-03 15-39-10rnrn......rn想分为四列rn39.4% 2013-07-03 15-38-59 35.8 2013-07-03 15-38-59rn39.5% 2013-07-03 15-39-03 35.8 2013-07-03 15-39-03rn39.7% 2013-07-03 15-39-06 35.7 2013-07-03 15-39-06rn39.8% 2013-07-03 15-39-10 35.6 2013-07-03 15-39-10rn........rnrn请问该怎么做?最好用代码教我与给出具体实现。网上的小工具转化都做不到这种程度。
Bmp文件怎么转换为JPG文件?
Bmp文件怎么转换为JPG文件?
关于.netGridView转换为Excel文件的研究
关于.netGridView转换为Excel文件的研究.doc
c#导出Excel文件,转换为可读模式
/// &lt;summary&gt; /// 导出Excel文件,转换为可读模式 /// &lt;/summary&gt;//转载请注明来自 http://www.uzhanbao.com public static void DataTable2Excel(System.Data.DataTable dtData) { DataGri...
MDB文件转DBF文件的问题
不知道怎么将Access中的mdb数据转成FoxPro中的dbf数据 rn哪位知道请指点一二,万分感谢
请问在程序中怎么相互转换dbf文件和excel文件
比如要把一个dbf文件a导入到excel文件b,可能是追加方式,可能是update方式rn怎么办呀,谢谢了!rn并且怎么打开一个dbf文件呢,我没有安装foxpro之类的东西rn新手上路,不好意思啦
C#转换为VB.NET
this.candle.GetPointerStyle += new CustomPoint.GetPointerStyleEventHandler(candle_GetPointerStyle);rn void candle_GetPointerStyle(CustomPoint series, CustomPoint.GetPointerStyleEventArgs e)rn rn e.Style= PointerStyles.Rectangle;rn SeriesOHLCPoint _ojlc = ((Steema.TeeChart.Styles.Candle)(series))[e.ValueIndex];rn ((Steema.TeeChart.Styles.Candle)(series)).HighLowPen.Color = Color.Empty;rn if (_ojlc.Close > _ojlc.Open)rn rn e.Style = Steema.TeeChart.Styles.PointerStyles.Diamond;rn series.Pointer.Pen.Color = Color.Red;rn rn elsern rn e.Style = Steema.TeeChart.Styles.PointerStyles.Diamond;rn series.Pointer.Pen.Color = Color.Green;rn rn
c++转换为C#
下面是C++写的DLL里面的一个函数定义: rnrnapiStatus WINAPI EPC_ Class1Read(IN HANDLE hCom,IN unsigned char FilterBitCount,IN rnunsigned char * Filter_Bits,OUT unsigned char* TagId[],OUT unsigned char *TotalTagCount); rn参数: rn hCom:输入的串口句柄参数。 rn FilterBitCount:过滤器的过滤的位数(1Byte) rn Filter_Bits:过滤器的bit流(16Byte) rn TagId:输出标签的数组,每一个数的第一字节为标签的位数,如果第 1 字节是 0x40,则为 rn64 位标签,后续8 字节即为标签号;如果第1 字节是 0x60,则为 96位标签,则后续 12字节 rn为标签号。 rnTotalTagCount:输出读出的标签总数。 rnrn现用C++调用方式如下: rn[code=C/C++]rnapiStatus status = 0xFF; rnunsigned char FilterBitCount=0; rnunsigned char Filter_Bits[16] = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;rnunsigned char* TagId[255]; rnunsigned char TotalTagCount = 0; rn// hCom:为打开的com口句柄 rn rnStatus = EPC_ Class1Read (hCom, FilterBitCount, Filter_Bits, TagId, &TotalTagCount ); rnif (status == ERR_NONE) rn rn int index=0,i,j; rn for(int j=0;j
C#转换为vb.net
private Dictionary _nodes =rn new Dictionary(16);rn请问,这样的定义转换为vb.net的定义是怎么样的?
怎么取excel、dbf文件的表名
rn(1)现有一excel文件,怎么用java取其中的表名?如;sheet1,sheet2rnrn(2)有一文件夹data,下有若干dbf文件(yb1.dbf,yb2.dbf),在java jdbc-odbc 中把此文件夹作为连接的数据库,yb1.dbf,yb2.dbf作为表名,怎样取道这些表信息(名称、类型、状态)。rn
Excel中Unicode如何转换为汉字
Function ChW(t)    If InStr(t, &quot;\u&quot;) Then        s = Split(t, &quot;\u&quot;)        For i = 0 To UBound(s)            If Len(s(i)) &amp;gt; 3 Then                ChW = ChW &amp;amp; ChrW(&quot;&amp;amp;H&quot; &amp;amp; Left(s(i), 4)) ...
Excel中人民币转换为大写
excle中自动转换为人民币大写: 在B9单元格输入阿拉伯数字,在C9单元格输入如下内容: =IF(B9<=0,,TEXT(INT(B9),"[dbnum2]人民币G/通用格式")&"元"&IF(INT(B9*10)-INT(B9)*10=0,IF(INT(B9)*(INT(B9*100)-INT(B9*10)*10)=0,"","零"),TEXT(INT(B9*10)-INT(B9)*10,"[dbnum2]")&"角")&IF((INT(B9*100)-INT(B9*10)*10)=0,"整",TEXT((INT(B9*100)-INT(B9*10)*10),"[dbnum2]")&"分")) 怎么样?看到了吧!
excel在delphi中如何转换为html
在delphi中如何把excel文件另存为html,保存要能具体到工作表,就像在excel中另存选择工作表那样的只保存当前活动的工作表,请各位多多指教!整个文件另存为html我已经知道怎么做
如何将HTML中表格转换为EXCEL
现在在HTML中有个表格,可以通过javascript得到表格的数据,但现在需要用户点击按钮后保存为EXCEL,怎么实现呢rnrn在记事本里保存HTML通过改文件后缀可以直接转换为EXCEL,实现上面应该不难吧,最好有相关的例子,谢谢!
excel中的点转换为kml
excel中的经纬度信息转换为KML文件,无需安装,绿色版
将HTML中表格转换为EXCEL
以下下载不能转换:rnrn一直提示:導出Excel表失敗,确定已安裝Excel2000(或更高版本),并且沒打開同名xls文件'rnrnrnrn rn ==================================================================== rn 按扭: rn rn =================================================================== rn rn 說明:table2為表格的ID名。就是將叫table2的表格輸出為excel文件。如: rn rn
将Excel中的文本转换为数字
利用Excel做透视图的时候,如果数字值是文本类型,在求和的时候就失效了,现在解决这个问题,将文本转换为数字。 选定这一列后依次点击【数据——分列——完成】...
EXCEL中把时间戳转换为日期格式
方法: =TEXT((E7+83600)/86400+70365+19,“yyyy-mm-dd hh:mm:ss”)
C++中Format怎么转换为C#中Format的使用
[code=C/C++]rnfloat fCurrent = 0.5;rnfCurrent = (float)atof(strCurrent);rn rnstrCurrent.Format("Ie:%g",fCurrent);rn[/code]rn用C#应该怎么写rn[code=C#]rnstring strpum = string.Format("01:F3", "Pum:", 90);rn[/code]rn这一句代码是什么意思?rn
C# 怎么把空值转换为0
在C# 里当一个textBox没有被输入数据时怎么把它自动设置为0??rn求解!求程序源码!!
这个delphi函数怎么转换为C#
函数如下:这是一个加密函数rnfunction encrypt(const s:string):string; rnvarrn j,k,tmp:word;rn tmpstr:string;rn key:array[1..18] of word=(43,54,75,2,687,43,65,43,4,23,34,65,43,8,33,33,54,3);rnrnbeginrn k:=1;rn for j:=1 to length(s) do rn beginrn tmp:=ord(s[j]) xor key[k]; rn tmpstr:=tmpstr+inttohex(tmp,2);rn k:=k+1;rn end;rnrn result:=tmpstr;rnend;
请问VB.net怎么转换为C#
<%@ Page Language="C#" %>rn<%@ Import Namespace="System.Data" %> rn<%@ Import Namespace="System.Data.OleDb" %> rn rn//以上的代码不知道怎么转换全(请帮忙)以下为用到的代码rn<%@ Page Language="C#" %>rn<%@ Import Namespace="System.Data" %> rn<%@ Import Namespace="System.Data.OleDb" %> rn rn rn 留言本 rn rn 留言本 rn rn rn rn rn rn rn 我要留言 rn rn 标题: rn 署名: rn 内容: rn rn
c#怎么实现ANSI转换为汉字
c#怎么实现ANSI转换为汉字 c#怎么实现ANSI转换为汉字 c#怎么实现ANSI转换为汉字
MP3转换为PCM文件,转换为WAV文件
基于jave-1.0.2.jar将MP3文件转为PCM文件,转为WAV文件
这个函数怎么转换为C#
函数如下:rnfunction Encrypt(s)rnrn var k, tmp, tmpstr;rn var key_S = "43,54,75,2,687,43,65,43,4,23,34,65,43,8,33,33,54,3";rn key = key_S.split(",");rn tmpstr = "";rn k = 0;rn for(var j = 0; j < s.length; j++)rn tmp = (s.charAt(j).charCodeAt() ^ key[k].valueOf(Number)); rn s_hex = tmp.toString(16);rn while (s_hex.length<2)rn s_hex = '0' + s_hex;rn rn tmpstr = tmpstr + s_hex;rn k++;rn rn return tmpstr.toUpperCase();rn
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池