Я пытаюсь создать документ Excel с информацией со страницы с помощью настраиваемой кнопки. Документ Excel должен быть открыт, а затем пользователь должен сохранить его - аналогично тому, как это делается с помощью кнопки «Экспорт в Excel», встроенной в некоторые сетки Acumatica.
Я читал статью это, где просят нечто подобное. Однако добавление объекта
new PX.Export.Excel.Core.Package() не работает, так как библиотека не распознается. Может быть, это было устаревшим в последних выпусках?
Я создал этот консольный проект
using Excel = Microsoft.Office.Interop.Excel;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
var excelApp = new Excel.Application();
// Make the object visible.
excelApp.Visible = true; ;
// Create a new, empty workbook and add it to the collection returned
// by property Workbooks. The new workbook becomes the active workbook.
// Add has an optional parameter for specifying a praticular template.
// Because no argument is sent in this example, Add creates a new workbook.
excelApp.Workbooks.Add();
excelApp.Cells[1, "A"] = "SNO";
excelApp.Cells[2, "B"] = "A";
excelApp.Cells[2, "C"] = "1122";
Excel._Worksheet workSheet = (Excel.Worksheet)excelApp.ActiveSheet;
}
}
}и работает правильно. Но в Acumatica я получаю следующую ошибку
Retrieving the COM class factory for component with CLSID
{00024500-0000-0000-C000-000000000046} failed due to the
following error: 80070005 Access is denied.
(Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).
Спасибо.





Вам необходимо добавить ссылку на PX.Export.dll (из папки AcumaticaSite -> Bin) в вашу библиотеку расширений для работы с PX.Export.Excel.Core.Package().
Проверить: stackoverflow.com/questions/881132/…