100分交流个问题。有好的方法在线结贴

jasondct 2008-05-09 09:30:18
100分交流个问题。有好的方法在线结贴 ,顺便散点分
想得到。
1,从磁盘的一个路径下导入到程序里一个excel工作表。
2,并用程序筛选一部分数据导入到,sql特定的列里,最后保存。
3,导入时有进度条,导入完毕有提示。
...全文
384 62 打赏 收藏 转发到动态 举报
写回复
用AI写文章
62 条回复
切换为时间正序
请发表友善的回复…
发表回复
starlessnt 2008-05-15
  • 打赏
  • 举报
回复
标题党啊..

方法不要,只要代码...
zhangxia_dct 2008-05-14
  • 打赏
  • 举报
回复
问题2
string constr = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0; Data Source="+textBox1 .Text +"";
OleDbConnection oledbCon = new OleDbConnection(constr );
oledbCon.Open();
DataTable mydt = oledbCon.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
DataSet myds = new DataSet();
foreach (DataRow dr in mydt.Rows)
{
string table = dr["TABLE_Name"].ToString();
//string table = dr["名单"].ToString();
string strExcel = "select * from [" + table + "]";
myds.Tables.Add(table);
OleDbDataAdapter ODB = new OleDbDataAdapter(strExcel, oledbCon);
ODB.Fill(myds, table);
}
zhangxia_dct 2008-05-14
  • 打赏
  • 举报
回复
问题1;
OpenFileDialog ofiledag = new OpenFileDialog();
ofiledag.CheckFileExists = true;
ofiledag.Title = "文件位置";

ofiledag.InitialDirectory = "f:\\study\\";
ofiledag.RestoreDirectory = true;
ofiledag.Multiselect = false;
if (ofiledag.ShowDialog() == DialogResult.OK)
{
textBox1.Text = ofiledag.FileName;
}
jasondct 2008-05-13
  • 打赏
  • 举报
回复
这个问题不搁浅了呵呵 
就差
3,导入时有进度条,导入完毕有提示。
jasondct 2008-05-13
  • 打赏
  • 举报
回复
54楼 的能把代码发来吗?
ndsc_cherry 2008-05-13
  • 打赏
  • 举报
回复
先抢分吧
jasondct 2008-05-13
  • 打赏
  • 举报
回复
还有没有人发了,如果没有人发 明天结贴!!
BIGBIRDINWOODS 2008-05-12
  • 打赏
  • 举报
回复
学习
cacar2008 2008-05-12
  • 打赏
  • 举报
回复
好用!
jasondct 2008-05-12
  • 打赏
  • 举报
回复
这么多人回复。看来这点东西也是大家感兴趣的地方。呵呵 。 接着努力 如果搞定了。 我把源码发来 供大家学习。
  • 打赏
  • 举报
回复
思路比代码重要的多~
chenyu8104 2008-05-12
  • 打赏
  • 举报
回复
2楼正解,不过你的excel应该有固定的格式吧。
还有就是.net 操作excel有个关闭进程的问题。
我用的process的kill方法
jaffee1900 2008-05-12
  • 打赏
  • 举报
回复
做个记号,一会回来看!!!
LGame 2008-05-12
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 ziseliuxingzh 的回复:]
引用 2 楼 starlessnt 的回复:
1.用读excel现成的代码
2.对数据进行筛选,存入sql
3.可以用控件Progressbar,通过后台调用的方式(Backgroundworker)进行操作.


这就是方法
[/Quote]

正解
itymx 2008-05-12
  • 打赏
  • 举报
回复
jf
jasondct 2008-05-12
  • 打赏
  • 举报
回复
请问32楼  非常感谢 其它的都搞定再问 
 public 定义那些是那里来的;
例如public event ImportDataCompletingHandler importDataCompling;
public delegate void ErrorHandler(string errorMessage);
public event ErrorHandler errorMessage;
public delegate void DataCompletedHandler(DataSet data);
public event DataCompletedHandler dataCompleted;
等等
DataTable tb = _data.Tables[0];
string Area = tb.Rows[0][0].ToString();
这里的dataset的内容是 要导入的excel 里的吧。
bingshan24 2008-05-10
  • 打赏
  • 举报
回复
用ADO.NET就可以做到了啊.

从Excel中读到DataTable里.. 然后筛选你想要的列再存入数据库..

进度条.直接用控件..
robig 2008-05-10
  • 打赏
  • 举报
回复
磁盘中的数据是什么格式保存的?
AaronBCR 2008-05-10
  • 打赏
  • 举报
回复
看来得用多线程了哦。
在VBA里有自动筛选的方法的,可以试试。
huaer1011 2008-05-09
  • 打赏
  • 举报
回复
先帮你UP吧~~
加载更多回复(41)

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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