请问如何在ASP.NET(C#)中实现Foxmail和Outlook的CSV地址薄导入功能? 请问如何在ASP.NET(C#)中实现Foxmail和Outlook的CSV地址薄导入功能?最主要是实现映射输入字段。请给出相关例子或代码,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 从Foxmail OR Outlook 中导出CSV,上传到服务器上从服务器上用程序导入 CSV使用顿号(;)做为分隔符,楼主使用记事本打开即可查看它的内部信息。 TO:net_lover(孟子E章)------------------------------我的意思是说在我的ASP.NET(C#)项目中做一个:将FoxMail导出的CSV文件导入到我的ASP.NET(C#)项目中的功能,有类似FoxMail中的映射功能,可以选择相应的CSV文件中的标题映射为我指定的字段(因为FoxMail的字段和我的设计不同),并且可以选择导入的字段。最后将设置好的数据导入我ASP.NET项目的MS SQL数据库中。 csv文件是txt格式的文件,除了第一行是字段外,其它都是数据,你可以不管字段,就当成已经映射过来的。参见http://blog.csdn.net/net_lover/archive/2005/06/13/393579.aspx 也可以StreamReader读取出来,一行一行分析啊 net_lover(孟子E章)---------------------------------------非常感谢,不过我现在的难题不在于数据绑定,而是在如何设置映射和导入数据的处理。例:Foxmail的字段为A,B而我的数据字段可能为A,AB,AC,AD,AE...我需要通过设置导入映射将Foxmail的数据列导入我的表中的对应列中(要能通过映射自动识别,没有的列用空值填充)。 这个的主要难度在于,Foxmail导出的CSV文件的字段数不能确定,因为是用户选择的,有多有少,而且和我的表中的列名不同也不对应,所以要用到字段映射来转换。 字段数不能确定?Foxmail导出时,如果没有选择的字段应该仍然会以;号分隔吧?楼主检查一下看看否则真是无法确定了 to:kssys() --------------------------foxmail导出时没有选中的字段是不会出现在CSV文件中的。 不确定的字段数量,那么foxmail应该也无法判断用户选择了那个了段才对啊疑惑中 很多软件的导出都是任意列的,这时候你只能先根据CSV创建表(例如DataSet),然后根据CSV表头一列一列复制到你的目标表。你想要自动表头匹配?应该没有这回事。 private void btnExport1_Click(object sender, System.EventArgs e) { // 导出所有数据 try { // 获取要导出的数据库 DataTable dtEmployee = ((DataSet) Session["dsEmployee"]).Tables["Employee"].Copy(); // 将所有数据导出到 CSV文件 RKLib.ExportData.Export objExport = new RKLib.ExportData.Export("Web"); objExport.ExportDetails(dtEmployee, Export.ExportFormat.CSV, "EmployeesInfo1.csv"); } catch(Exception Ex) { lblError.Text = Ex.Message; } } 在www.phei.com.cn上有一本ASP.net网络编程的代码, 你可以下载下来看看。在第18章。 楼上的各位可能都没有试过Foxmail的那个字段映射,正因为Foxmail也不能确定用户的CSV文件的字段是否对应它本身的格式,所以才有了字段映射这个功能,这个功能是让用户将CSV文件中的“字段”映射到Foxmail的对应的字段,然后才导入数据的。 试试在Foxmail中导入Outlook导出的CSV文件就明白这个功能了。 我有个想法,就是将MS SQL中地址薄的字段放入一个临时表中,通过用户的映射设置,组织insert into table select ...语句。希望看到高效的解决方法。:) 看了一下CSV文件。第一行会有列名,做个映射即可。根据CSV列名,来判断应插入哪些信息。楼主要分析一下FoxMail的列名。 很多支持导入/导出/同步的软件都有映射(Mapping)这个功能,甚至是有复杂规则的Mapping,例如Full Name自动分给为两部分和First Name, Last Name进行Mapping。我绝对对于Mapping,根据Mapping条件生成处理单行数据的SQL然后逐行数据处理会比较好,要整个表一次性实现Mapping会比较难。 看了一下CSV文件。第一行会有列名,做个映射即可。---------------------------------------------------------我就是不会做这个映射,能给个例子吗? 招.net开发工程师,有兴趣的可以投递简历至: [email protected] mvc post的时候弹出错误并且不刷新页面 B/S系统的身份验证问题 .net 用不同用户连接Access数据库问题 有什么值得学习的开源.net程序啊? 这个问题很让我费解,求高手解决 请问如何用按钮实现页面间的跳转? 无法转换??? 搭建asp.net问题 关于asp.net问题 C#中向C++的函数中 传结构数组..结构数组... 各位高手,用Request出的问题! 为什么 .net操作word速度很慢!
上传到服务器上
从服务器上用程序导入
------------------------------
我的意思是说在我的ASP.NET(C#)项目中做一个:将FoxMail导出的CSV文件导入到我的ASP.NET(C#)项目中的功能,有类似FoxMail中的映射功能,可以选择相应的CSV文件中的标题映射为我指定的字段(因为FoxMail的字段和我的设计不同),并且可以选择导入的字段。最后将设置好的数据导入我ASP.NET项目的MS SQL数据库中。
参见
http://blog.csdn.net/net_lover/archive/2005/06/13/393579.aspx
---------------------------------------非常感谢,不过我现在的难题不在于数据绑定,而是在如何设置映射和导入数据的处理。
例:
Foxmail的字段为A,B
而我的数据字段可能为A,AB,AC,AD,AE...
我需要通过设置导入映射将Foxmail的数据列导入我的表中的对应列中(要能通过映射自动识别,没有的列用空值填充)。
--------------------------
foxmail导出时没有选中的字段是不会出现在CSV文件中的。
private void btnExport1_Click(object sender, System.EventArgs e)
{
// 导出所有数据
try
{
// 获取要导出的数据库
DataTable dtEmployee = ((DataSet) Session["dsEmployee"]).Tables["Employee"].Copy();
// 将所有数据导出到 CSV文件
RKLib.ExportData.Export objExport = new RKLib.ExportData.Export("Web");
objExport.ExportDetails(dtEmployee, Export.ExportFormat.CSV, "EmployeesInfo1.csv");
}
catch(Exception Ex)
{
lblError.Text = Ex.Message;
}
}
希望看到高效的解决方法。
:)
---------------------------------------------------------
我就是不会做这个映射,能给个例子吗?
[email protected]