Tag: delphi

当试图访问Delphi 7中的Excel表时提供者select

我正尝试使用TAdoConnection组件连接到Delphi 7的Excel表格。 问题是当我selectMicrosoft.Jet.OLEDB.4.0,Extended Properties =“Excel 8.0;”时,我有时会收到错误, 该外部表格不是预期的格式。 当我select:提供程序= Microsoft.ACE.OLEDB.12.0;扩展属性= Excel 12.0; 那么一些用户会收到以下错误: “找不到提供程序,可能安装不正确”。 有没有办法解决我的问题?

Delphi 6 – 从delphi应用程序创buildExcel图表 – 数据和图表在同一页面上

我需要从一个delphi程序在excel页面创build一个excel图表。 在达到线路时,我收到“成员未find”错误。 ch1.Chart.SeriesCollection.Item[0].Values := Sheets.Item['Delphi Data'].Range['E5:E15']; 你能帮我解决吗? 下面给出的是使用的代码。 procedure TForm1.ChartData; var ARange,Sheets,ch1 : Variant; SSeries : Series; num : integer; ChartAxis : Axis; lcid : Cardinal; begin ch1 := XLApp.ActiveWorkBook.Sheets[1].ChartObjects.Add ( 500,100,400,200 ); // creates a new chart in the specified Sheets := XLApp.Sheets; ch1.Chart.ChartWizard ( Sheets.Item['Delphi Data'].Range['D5:D15'], // 1 Source xlBarStacked, // 2 The […]

debugging到Excel中的提示

我有一个库,可以将VCL网格的内容导出为XLS格式。 (不知道哪个版本的XLS格式;这是问题的一部分)它通常工作得很好,但在某些情况下,当我打开Excel 2007中导出该库的XLS,它说:“Excel中发现不可读的内容'[myfile.xls]'。你想恢复这个工作簿的内容吗?“ 它能够正确地恢复它,所以无论问题是什么,都不是那么严重,但是我有一段时间来搞清楚问题所在 。 我不能做任何简单的事情,比如在debugging器下运行Excel,因为它是专有软件。 我已经尝试将修正后的版本保存为各种版本的XLS并区分这两个文件,但是我从来没有发现任何与原始文件格式类似的东西。 当恢复完成时,它给了我一个指向文档被恢复的XML文件的链接,没有描述任何发现或修复的错误。 有没有什么办法可以得到关于Excel期望看到什么以及看到什么的一些实际的详细信息?

办公自动化与Windows 7和Office 2007挂起

我有一个Delphi XE8程序,我使用Office自动化来构build一个Excel文件。 build设需要几秒钟,所以我把这项工作放到后台线程,以便我的程序将保持响应,我可以处理取消请求。 我已经这样设置: TTask.Run( procedure var oXL, oSheet, o2Sheet, oRng, VArray : Variant; begin oXL := CreateOleObject('Excel.Application'); oXL.Visible := False; oXL.DisplayAlerts := false; … (all the processing to build the Excel file) oXL.Application.Workbooks[1].SaveAs(ExcelFilename, 51 { = xlWorkbookDefault } ); oXL.Workbooks.Close; oXL.Application.Quit; oXL := Unassigned; end ); 这个代码工作得很好,就像我想要的那样。 它创build了Excel工作簿作为后台任务,完成后从任务返回主线程,应用程序保持响应。 我以为一切都很好。 它使用Office 2016在我的Windows 10计算机上工作。我有几个用户在他们的计算机上成功运行它。 但是我有一个用户在线程中挂起程序的报告。 我能够做一些testing。 […]

delphi到Excel – 与德语区域设置的date格式问题

使用Delphi 2007 – Windows 7 – 德语(瑞士)语言环境 。 在我的应用程序中,我将Displayformat显示为"MMM-YY"的DateTime字段。 date3-Mar-11显示为Mai-11 。 导出到Excel时,应用程序首先将网格数据写入TXT文件,然后使用OpenText() API将其导入Excel。 然后我们将网格属性应用到单元格。 因此,Excel中的date列应用了NumberFormat = MMM-YY (custom format) 。 但是,在Excel中date显示为"Mai-YY" ,因为德文中Excel中的date格式是MMM-JJ 。 如何从Delphi中应用正确的date格式或正确的Excel行为,以便我可以在所有区域设置解决scheme?

如何查询embedded的OLE应用程序的显示名称

我想查询embedded在我的Delphi XE4 Win32应用程序中的OLE应用程序的显示名称。 TOleContainer类,并且容器可以包含不同的OLE应用程序(例如MS Word , MS Excel ,…),取决于在其中编辑的文件。 我想要返回的是Microsoft Word 2007 (或2010或2013或…)或至lessMicrosoft Word ,因为它显示在正常Word实例的标题栏中。 编辑: TOndrej的答案是非常有帮助的。 谢谢。 不幸的是,正如我在他的回答下的评论所描述的那样,它没有显示真正的应用标题。 我在SO上发现了这个问题 。 据说,我可以使用_Application.Caption属性访问主机应用程序的标题。 我没有_Application的实例,但IOleObject 。 Typecast( MyOleObjectInterface as _Application )失败。 OleObject如何作为_Application被访问?

delphi excel超链接在一个单元格中

如何使用Delphi从excel表格中的某个单元格中提取超链接?

如何将行添加到Excel工作表?

我正在开发一个需要生成Excel表的应用程序。 我们如何将行添加到现有的Excel表单中? 我正在使用delphi2007年(和我正在使用SM软件TXLS …组件…但我确定在本机delphiExcel组件的答案)。 谢谢大家,Pradeep

Delphi – Excel – 如何加快运行速度

我正在为Delphi XE6中的Excel编写一个插件。 我不得不从一张纸复制到另一张纸。 我面临的挑战是我的手术比我想象的要长。 例如,要将500行(23列)从一张纸复制到另一张需要28秒左右… 部分挑战是我必须逐行处理。 我有一个INT数组,每行一个INT。 INT值告诉我是否需要复制该行… …for loop i … through entire array…. …if row I am interested in… // Set the Original Sheet Active MasterOrigSheet.Select; // Build my row numbers SourceRangeCell := 'A' + IntToStr(i); DestRangeCell := 'A' + IntToStr(DestRowNumber); // Copy the row from source to destination MasterOrigSheet.Range[SourceRangeCell, SourceRangeCell].EntireRow.Copy (NewSheet.Range[DestRangeCell, DestRangeCell].EntireRow); […]

从Excel导入数据

我想从Excel导入数据到Delphi 7的Paradox数据库。 我怎样才能使用Delphi?