我正在尝试通过按钮单击事件从Excel文件中获取数据.我的连接字符串是:
string connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\source\\SiteCore65\\Individual-Data.xls;Extended Properties=Excel 8.0;";
Run Code Online (Sandbox Code Playgroud)
当我点击按钮时,我收到以下错误:
"Microsoft.ACE.OLEDB.12.0"提供程序未在本地计算机上注册.
我不知道如何解决这个问题.我的操作系统是Windows 7.
我可以使用以下脚本启动Excel.但是在ghci(7.4.1)中,当我运行它时会出现分段错误.
我不知道从哪里开始搜索.如果删除该行,我没有此错误
workSheets <- workBook # propertyGet_0 "Worksheets"
Run Code Online (Sandbox Code Playgroud)
这是代码.可能是我忘记了什么.我在这里阅读了com.hs的源代码,但它没有给我任何线索.
import System.Win32.Com
import System.Win32.Com.Automation
--
-- createObjectExcel
-- coming from Automation.hs and com.hs
--
iidIDispatch_unsafe = mkIID "{00020400-0000-0000-C000-000000000046}"
createObjExl :: IO (IDispatch ())
createObjExl = do
clsidExcel <- clsidFromProgID "Excel.Application"
pExl <- coCreateInstance clsidExcel Nothing LocalProcess iidIDispatch_unsafe
return pExl
fichierTest2 = "E:/Programmation/haskell/Com/qos1.xls"
main = coRun $ do
pExl <- createObjExl
workBooks <- pExl # propertyGet_0 "Workbooks"
workBook <- workBooks # propertyGet_1 "Open" fichierTest2
workSheets <- workBook # propertyGet_0 "Worksheets" …Run Code Online (Sandbox Code Playgroud) 谷歌浏览器有一个方便的功能,我可以点击下载链接并将其拖到Windows资源管理器窗口,然后删除.删除后,Chrome会下载该文件,然后它会显示在我删除的位置.
我希望能够从谷歌浏览器中删除我的应用程序,但似乎并非如此简单.我有一个名为gridFiles的DataGridView,以及以下代码:
Private Sub gridFiles_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles gridFiles.DragDrop
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
Dim DroppedFiles() As String = e.Data.GetData(DataFormats.FileDrop)
If Not DroppedFiles Is Nothing Then
For Each file As String In DroppedFiles
MsgBox(file)
Next
End If
End If
End Sub
Private Sub gridFiles_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles gridFiles.DragEnter
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
e.Effect = DragDropEffects.All
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
当我从Windows资源管理器中将文件拖放到它上面时,一切正常,我为每个被删除的文件都有一个消息框.但是,当我从Chrome中删除时,没有任何反应.原因是它DroppedFiles等于Nothing.似乎e.Data.GetData没有返回任何东西.我已经检查与格式e.Data.GetFormats()并将其返回FileDrop,FileName,FileNameW …
当我在OleContainer(inplace)中编辑Word文档并切换到另一个Word文档然后切换回来时,我再也无法使用我的rightmouse按钮了.上下文菜单不会显示.
这发生在Word 2000上,而不是Word 2007上(我不知道其他版本).
我怎样才能摆脱这种行为?
如何重现:
OleContainer1.DestroyObject,以便您可以停止编辑编辑:我在以下系统上重现了上述行为(使用Citrix):
Windows Server 2003企业版
5.2版(Build 3790.srv03_sp2_rtm.070216-1710:Service Pack 2)
Microsoft Word 2000(9.0.6926 SP-3)
我使用Delphi 7(build 8.1)来创建应用程序.
我有一个Crystal报表,其中数据源最初设置为使用ODBC连接.现在我想修改数据源而不是使用OLE DB而不是使用ODBC.如何在不破坏我最初为报告设置的数据库字段的情况下替换数据源连接?如果我尝试删除原始数据源,则还会删除我已设置的字段.有没有办法将报表映射为使用OLE DB而不是ODBC连接?
谢谢.
我正在使用Apache POI将数据导出到Excel文件.在一个奇怪的要求中,我需要使用此POI在Excel中嵌入一个文件.我有文件,可以被带入流或字节数组.谷歌搜索了很长时间后,我怀疑POI是否真的支持我的要求.我们可以将文件嵌入Excel吗?:-(
干杯,Anoop
MS Access 2010,Win 7在常规表单上
我没有故意放置任何ActiveX或OLE的东西..甚至不确定它们是什么.但无论如何,每当我在某个特定表单的代码中放入某些内容时,它会说
"您在事件属性设置中输入的表达式XXXXX会产生以下错误:MyDB与OLE服务器或Active X Control进行通信时出现问题
咦?无论我在表单的代码中添加什么,都会发生这种情况.我有一个空的Form_Current()ONLY仍然绊倒了这个.表格中有很多格式化和工作,我宁愿不废弃它.如果我让代码窗口完全为空(只有选项比较数据库),它不会导致错误; 然而,我的形式是无用的.
我已经看到这是一个语言问题,但我的其他形式(运行相同的代码技术和大多数相同的代码)都很好,这是一个英语访问与英语PC.想法?
代码设置错误:
Private Sub Form_Current()
End Sub
Run Code Online (Sandbox Code Playgroud)
认真.
这是"这是可能的,如果是这样,你能给我一个简单的例子,因为我找不到一个在线的吗?" 有点问题.
我有许多完全独立的(即"令人尴尬的并行")进程,我想使用C#在.NET Framework 4中使用任务并行库并行运行.其中一些过程需要使用可通过COM/OLE自动化访问的软件.
具体来说,有一个Parallel.Foreach()循环将任务从项列表中分开,基本上调用Parallel.Foreach中的不同函数来处理处理(因此其中一些函数使用COM库来工作).
这可能吗?谢谢.
我需要测试是否可以从我的程序中使用Excel OLE,因为它可以在没有Excel的PC上启动.网上的代码示例假设安装了Excel,但如果没有,那该怎么办?
XLApp := CreateOleObject('Excel.Application');
try
// Hide Excel
XLApp.Visible := False;
// Open the Workbook
XLApp.Workbooks.Open(aPath);
...snip...
finally
// Quit Excel
if not VarIsEmpty(XLApp) then
begin
XLApp.Quit;
XLAPP := Unassigned;
end;
end;
Run Code Online (Sandbox Code Playgroud)
这是否是正确的代码,以找到是否安装了Excel?
//Try to create Excel OLE
try
XLApp := CreateOleObject('Excel.Application');
except
ShowMessage('Error opening Excel');
Exit;
end;
Run Code Online (Sandbox Code Playgroud)