Создайте рабочую книгу / рабочий лист в Altium DelphiScript без установки плагинов
В настоящее время я извлекаю список выводов - имена выводов в Altium Designer, который использует DelphiScript (не Delphi). DelphiScript и Delphi имеют различия, и я считаю, что одним из них является компонент файлового ввода-вывода. Согласно Altium Docs для DelphiScript, могут быть созданы только текстовые файлы и файлы CSV. При создании выходного файла.csv сохранение так же просто, как создание текста с разделителями-запятыми, а затем сохранение с расширением ".csv". Моя проблема сейчас заключается в том, как создать файл.xls без импорта и / или загрузки плагинов / расширений, таких как eDocEngine VCL, LibXL, TQExport4Xlsx. Попытался объявить TBook, TSheet, TgtXLSEngine или другие способы создания электронной таблицы, но ошибка говорит, что это необъявленный идентификатор. Ребята, у вас есть идеи?
Фрагмент кода составителя отчетов:
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;
Фрагмент кода парсера строки, который вызывает вышеуказанные процедуры:
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;
1 ответ
Как было отмечено в комментариях @Ken White, без сторонних компонентов сделать это очень сложно. Насколько я знаю, XSL-файл имеет структуру сложного двоичного формата файла. Этот тип файлов состоит из блоков и потоков, которыми Вы можете манипулировать. Я использовал это стороннее программное обеспечение для анализа файлов такого типа (на самом деле SchDoc, но не XLS), проверьте этот вопрос. OpenMCDF может добиться цели, если у вас Altium работает на платформе.NET, как, например, в 16-й версии. Кроме того, Вы можете использовать спецификацию этого формата файлов на основе CFB.
Очень заметно, что некоторые другие типы файлов Altium используют этот формат файлов CFB, поэтому может быть полезно узнать об OpenMCDF. Я считаю, что XLS может быть создан гораздо более удобным способом, чем этот, но полезно знать, как обращаться с такими контейнерами данных, как XLS или SchDoc, и так далее.