MS Access可以,Visual Studio 2010也可以吗?
我的好友,一位Access大师,向我展示了他如何能够从MS Access内部链接到Excel电子表格,并在大约2分钟内编写查询以获取所需的数据,并在几分钟内完成了一个很好的自定义报告。我很惊讶他没有编码就能做到这一点,除了对他的SQL进行微小的修改外。MS Access可以,Visual Studio 2010也可以吗?
Visual Studio 2010是否具有这种功能,只需指向外部数据源(如Excel电子表格,在本例中)并快速处理它?我在VS2010中开始了一个新的C#winform程序,以便找出答案。我通过数据集设计师添加了一个空白数据集,其想法是我可以“以某种方式”为数据集添加新的数据源并将其指向Excel电子表格。但是,对于我的生活,我看不到一个简单的方法来做到这一点(当使用“添加数据源..”选项)。我尝试了不同的连接字符串,不同的提供者,但我无法让设计人员“看到”Excel电子表格中的数据。
我应该指出,我可以做的正是我正在谈论的代码,但我希望有一个“视觉”的方式来做到这一点。你知道,像Access一样。只需指向Excel电子表格,将其作为数据源导入或链接到它,瞧!
任何人都有这样的经验吗?这仅用于检索数据,而不是写回电子表格。我只是想找一种方法将设计人员指向电子表格,并说“在这里,将其用作数据源”。
您可以。排序...这是我已经做了一个可视化添加连接到Excel 2003(.xls)电子表格的连接。
- 在数据库资源管理器选项卡中,您可以右键单击数据连接并执行“添加连接”。
- 选择数据源“其他”,并在数据提供商
- “为OLE DB数据提供的.NET Framework”在‘添加连接’对话框中选择‘的Microsoft Jet 4.0 OLE DB提供程序’
- 输入路径在“扩展属性”,在“服务器名或文件名”
- 点击“高级”,写的Excel 8.0 Excel文件
做,你应该有你的连接脱颖而出并建立LINQ查询(或任何其他)在设计器中。
当然,张贴here
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c://Org.xls;Extended Properties=" + (char)34 + "Excel 8.0;HDR=Yes;" + (char)34);
DataSet myExcelData=new DataSet();
conn.Open();
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter("Select * from [Sheet1$]", conn);
myDataAdapter.Fill(myExcelData);
ultraGrid1.DataSource = myExcelData;
conn.Close();
但恕我直言,你为什么会得到从Excel的数据“与它的工作”来访问?使用Excel来处理它似乎是合乎逻辑的。
是的,我可以在代码中执行此操作,如上所述。我只是在寻找一种“视觉上”的方式,就像我的朋友在Access中做的一样。我的意思是,他只是连接到电子表格,在SQL语句和Voila中输入的方式非常快捷!我只是想知道VS2010是否具有相同的功能。 – Kevin 2012-03-08 22:56:17
噢,此外,这个讨论的出现是因为用户要求我编写一个程序,该程序将从Excel电子表格中提取数据并从数据库表中检索其他所需数据。我编写了这个程序,但是我花了一点时间才弄清楚如何连接到电子表格(我以前从未做过)。我告诉我的Access好友我正在尝试做什么,而那时他展示了他如何能够在Access中很快做到这一点。 – Kevin 2012-03-08 23:03:40
这就是我正在寻找的。不像Access中那样快捷简单,但仍然非常简单。非常感谢! – Kevin 2012-03-08 22:57:05