我目前正在使用DelphiScript(不是Delphi)在Altium Designer中提取引脚列表 - 引脚名称。 DelphiScript和Delphi有差异,我相信其中一个是文件I / O组件。根据Altium Docs for DelphiScript,只能生成文本文件和csv文件。在生成输出文件.csv时,保存就像抛出逗号分隔的文本一样简单,然后使用扩展名“.csv”进行保存。我现在的问题是如何在不导入和/或下载eDocEngine VCL,LibXL,TQExport4Xlsx等插件/扩展的情况下创建.xls文件。 尝试声明TBook,TSheet,TgtXLSEngine或其他方式来创建电子表格,但错误表明它是未声明的标识符。 你们有什么想法吗?
Report Writer Code Snippet:
Procedure BeginReportPinList(AFilename: String);
Begin
gv_FileName := AFilename + '.csv';
AssignFile(gv_FileReport, gv_FileName);
Rewrite(gv_FileReport);
End;
Procedure WriteReportDUT(AReport : String);
Begin
WriteLn(gv_FileReport, Format('%s', [AReport]));
End;
Procedure EndReport(Dummy : Boolean);
Begin
CloseFile(gv_FileReport);
End;
调用上述程序的String Parser Code Snippet:
if dutlistX.Count = 1 then
Begin
PinFilename := copy(gv_Board.FileName, 1, Pos('-05', gv_Board.FileName)-1) + '-14';
BeginReportPinList(PinFilename);
For I := 0 To finalreport.Count - 1 Do
Begin
WriteReportDUT(finalreport[I]);
End;
EndReport(0);
End;
答案 0 :(得分:0)
正如@Ken White在评论中所提到的,没有第三方组件就很难做到这一点。 据我所知,XSL文件具有复合文件二进制格式的结构。这种类型的文件由您可以操作的块和流组成。我使用这个第三方软件来解析这种文件类型(实际上是SchDoc,但不是XLS),请检查this question。如果您使用.NET平台运行Altium,例如16版本,那么OpenMCDF可以发挥作用。此外,您可以使用基于CFB的此文件格式的specification。
非常值得注意的是,Altium的其他一些文件类型正在使用该CFB文件格式,因此了解OpenMCDF可能很有用。我相信XLS可以以非常方便的方式创建,但是知道如何处理这些数据容器,如XLS或SchDoc等等。