问题描述
Excel与vb.net和access方面的问题各位大侠:现在遇到一个问题在自己用vb.net做的一个软件中要实现导入Excel数据,并能检测Excel中的数据格式是否正确,检测正确后保存到Access中例如:在科研评分系统中菜单中有"导入Excel"的选项,点击此选项,就能浏览电脑里的所有文件,并能选中电脑中任意位置的Excel文件确定后,先进行导入Excel文件的测试,并显示相关的检测信息,不成功时提示出错的地方,检测成功后,将Excel文件的sheet1.sheet2,sheet3数据自动保存到相应的Access(科研评分数据库.db)的不同表(table1,table2,table3)中,根据excel的列名对应到access列中.请问该怎么实现?
解决方案
解决方案二:
搜索oledb读取excel好像在cnblogs上有一个操作excel文件系列
解决方案三:
1.导入Excel这个,你用Openfiledialog就行了。2.你运气不错,我刚刚也用到了读EXCEL到datatable,自写了一个类,你可以直接用了。PublicClassOptExcelPrivatefilenameAsStringPublicSubNew(ByValExcelFileNameAsString)filename=ExcelFileNameEndSub'''<summary>'''读取Excel文件到Datatable'''</summary>'''<paramname="SheetName">Sheet名称</param>'''<returns>数据表</returns>'''<remarks></remarks>PublicFunctionReadExcelToDataTable(ByValSheetNameAsString)AsData.DataTableDimxlsconn1AsNewOleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&filename&";ExtendedProperties=Excel8.0;")Dimcmd1AsOleDb.OleDbCommand=NewOleDb.OleDbCommand("",xlsconn1)Dimmda1AsOleDb.OleDbDataAdapterxlsconn1.Open()mda1=NewOleDb.OleDbDataAdapter("select*from["&SheetName&"$]",xlsconn1)ReadExcelToDataTable=NewDataTablemda1.Fill(ReadExcelToDataTable)xlsconn1.Close()EndFunctionEndClass
解决方案四:
谢谢,只是根据excel的列名对应到access列中其中access中的一个表是由两个excel表组成其中第一表中的两列和第二个表中的两列,怎么能对应的放在access表中呢?
解决方案五:
引用3楼lwt1982ll的回复:
谢谢,只是根据excel的列名对应到access列中其中access中的一个表是由两个excel表组成其中第一表中的两列和第二个表中的两列,怎么能对应的放在access表中呢?
不好意思,没明白你的意思……
解决方案六:
就是access中的表a1包含excel中的sheet1中的序号、姓名、职务;同时也包含另一个excel表sheet1的科目、单位、项目名称等列。这样导入acess中的表a1应该怎么处理?非常感谢!
解决方案七:
持续学习中
解决方案八:
昨天终于解决了,谢谢大家!