Zapis dużej tablicy 2d do programu Excel

Chcę napisać dużą tablicę 2d do arkusza programu Excel przy użyciu C #. Jeśli tablica ma rozmiar 500 x 500, kod, którego użyłbym do napisania tego, jest następujący:

 var startCell = Worksheet.Cells[1, 1];
 var endCell = Worksheet.Cells[500, 500];
 var writeRange = (Excel.Range)Worksheet.Cells[startCell, endCell;
 writeRange.Value = myArray;

Mam wyjątek w tej linii:

var endCell = Worksheet.Cells[500, 500];

Jak każdy, kto używał C # i Excel za pośrednictwem COM, może zeznawać, otrzymany komunikat o błędzie jest prawie bezużyteczny. Myślę, że problem polega na tym, że podstawowa struktura danych używana w arkuszu nie ma wystarczającej wielkości, aby indeksować komórkę 500,500, gdy po raz pierwszy utworzę arkusz.

Czy ktoś wie, jak osiągnąć pożądany rezultat? Mam nadzieję, że istnieje prosty sposób na zmianę rozmiaru podstawowej struktury danych przed utworzeniem zakresu.

Dzięki.

Edytuj: Komunikat o błędzie:

{"Exception from HRESULT: 0x800A03EC"}

Z i excel kod błędu -2146827284.

Aktualizacja: link podany w komentarzach poniżej odnosi się do problemu z otwarciem arkusza programu Excel w trybie zgodności. To wydaje się być problemem. Jeśli zapiszę dokument w formacie .xlsx lub .xlsm przed uruchomieniem kodu, to wydaje się działać. Moim problemem jest to, że nie mogę oczekiwać, że użytkownicy będą to robić za każdym razem. Czy istnieje programowy sposób na osiągnięcie tego? Czy byłby to przypadek otwarcia pliku, sprawdzenia rozszerzenia, a następnie zapisania go w nowym formacie, jeśli to konieczne?

questionAnswers(2)

yourAnswerToTheQuestion