Я работаю над проектом с открытым исходным кодом, который написан на низкоуровневом ANSI C (я не могу это контролировать).Я пытаюсь интегрировать функциональность Microsoft Office Interop в сборку Windows этого проекта.В частности, я хотел бы использовать эти функции для создания книг Excel.
Если бы это было на C # или C ++, это не было бы проблемой для меня, поскольку я делал это много раз.Но я совершенно озадачен тем, как это сделать на низком уровне C!DLL, из которой я должен взять это, является Microsoft.Office.Interop.Excel.dll.В C # это будет выглядеть примерно так:
using Microsoft.Office.Interop.Excel;
public static class Excel
{
private static Microsoft.Office.Interop.Excel.Application m_oExcelApp;
private static Microsoft.Office.Interop.Excel.Workbooks m_oBooks;
private static Microsoft.Office.Interop.Excel._Workbook m_oBook;
private static Microsoft.Office.Interop.Excel._Worksheet m_oSheet;
private static Microsoft.Office.Interop.Excel.Range excelRange;
public static void MakeBook()
{
m_oExcelApp = new Microsoft.Office.Interop.Excel.Application();
m_oExcelApp.Visible = false;
m_oSheet = null;
m_oBooks = null;
excelRange = null;
.... и так далее.Я был бы очень рад, если бы я мог получить это далеко!Но, насколько я могу судить, DllImport позволяет только импортировать функции;т.е. я не могу понять, как он будет использоваться для создания экземпляра объекта в этой DLL (то есть создания экземпляра Microsoft.Office.Interop.Excel.Application (), который требуется для любого использованияиз этих библиотек).
Пожалуйста, поймите, что я полностью понимаю, что это сложная задача, и выполнение этого на низком уровне C НЕ было моим выбором!Но я застрял с этим, у меня немного сжатые сроки, и если кто-то из вас более разбирается в низкоуровневом C, чем я, и может помочь мне перенести вышеупомянутый код, я был бы чрезвычайно благодарен за вашhelp!
Спасибо!
РЕДАКТИРОВАТЬ: Я ценю концептуальный совет, но мне действительно нужен пример кода C, чтобы показать мне, как на самом деле это сделать!Пожалуйста, ребята, кто-то должен быть в состоянии помочь мне с этим!Мне не нужно много, просто небольшой пример, показывающий мне, как это сделать в контексте того, что я пытаюсь сделать, и я могу справиться с этим оттуда.