powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проблема с "Excel.Application"
11 сообщений из 11, страница 1 из 1
Проблема с "Excel.Application"
    #32480082
Artur Muradian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет Коллегам.

Уважаемые, вот с чем сталкнулся:

Excel.Application ExApp;
ExApp= (Excel.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");
Excel.Workbook book= ExApp.Workbooks["Sheet1"];

Дает "Invalid index".

От чего может быть? Использую .NET 1.0 и Office XP.
...
Рейтинг: 0 / 0
Проблема с "Excel.Application"
    #32480291
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотрите поиском по форуму как с Excel\'om работать в .Net, тут уже мнго было всего написано на эту тему, например - \r
\r
/topic/74487
...
Рейтинг: 0 / 0
Проблема с "Excel.Application"
    #32481944
Artur Muradian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за ссылку, пример довольно хороший. Но есть один момент, ведь в примере создаеться новый excel.application. Это и у меня получается:), правда ничего серезного я не делал этим вариантом.
А мне надо, что в рабочем эксельовском процессе я мог добавлять/изменять какие то ceels. Но

Excel.Application ExApp;
ExApp= (Excel.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");
Excel.Workbook book= ExApp.Workbooks["Sheet1"];

как я уже сказал дает "Invalid index".

Так в чем же дело?
Значит так: врэппер создает студия 2002 (для excel10), те я не использовал tlbimp.exe; .net 1.0; win2000; office xp
...
Рейтинг: 0 / 0
Проблема с "Excel.Application"
    #32482039
Артем1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А так?
Код: plaintext
1.
2.
Excel.Workbook book = ExApp.Workbooks[ "Workbook1" ]; 
или
Excel.Workbook book = ExApp.Workbooks[ 0 ];
...
Рейтинг: 0 / 0
Проблема с "Excel.Application"
    #32482613
Artur Muradian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело в том, что я пробовал не только
ExApp.Workbooks["Sheet1"], но и
ExApp.Workbooks[0] и
ExApp.Workbooks["[Sheet1]"] и
ExApp.Workbooks["[Sheet1$]"] а только что попробовал и
ExApp.Workbooks["Workbook1"]

Ну и всегда: "Invalid index".
...
Рейтинг: 0 / 0
Проблема с "Excel.Application"
    #32482702
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Артур, а вы добавляли его?

wbks = excApp.Workbooks;
wbk = wbks.Add(Excel.XlWBATemplate.xlWBATWorksheet);
sheets = wbk.Worksheets;
worksheet = new Excel.Worksheet[sheetsCount+1];

например так?
...
Рейтинг: 0 / 0
Проблема с "Excel.Application"
    #32482751
Artur Muradian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hDrummer, я программно не добавлял. Но я открываю xls файл (excel-ом) в котором точно есть Sheet1, и только тогда я тестирую прогу.
А после этого, что происходит Вам известно:)
...
Рейтинг: 0 / 0
Проблема с "Excel.Application"
    #32482816
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не знаю в чем проблема, но я делал так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
using System.Reflection; // For Missing.Value and BindingFlags
using System.Runtime.InteropServices; // For COMException
using Excel;

....................................................................................

private Excel.ApplicationClass exelApp = null;
private object objMissing = System.Reflection.Missing.Value;

....................................................................................
System.Windows.Forms.OpenFileDialog objExcelFileDialog;
objExcelFileDialog = new System.Windows.Forms.OpenFileDialog();
objExcelFileDialog.Multiselect = false;
objExcelFileDialog.Title =  "Выберете файл для конвертирования данных" ;
objExcelFileDialog.Filter =  "Таблицы Excel (*.xls)|*.xls" ;
if(objExcelFileDialog.ShowDialog() == DialogResult.OK)
{

	exelApp = new ApplicationClass();
	exelApp.Visible = true;
	Workbooks workbooks = exelApp.Workbooks;

	_Workbook workbook = workbooks.Open(objExcelFileDialog.FileName,objMissing,false,objMissing,objMissing,objMissing,objMissing,objMissing,objMissing,objMissing,objMissing,objMissing,objMissing,objMissing,objMissing);
	Sheets sheets = workbook.Worksheets;
	_Worksheet worksheet = (_Worksheet) sheets.get_Item( 1 );

	Range r1 = worksheet.get_Range( "A10" , Missing.Value);
	r1.CurrentRegion.Select();
	//Далее какая-то обработка.....................................
}

Надеюсь поможет ))
...
Рейтинг: 0 / 0
Проблема с "Excel.Application"
    #32482832
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А Excel не русский случайно?
...
Рейтинг: 0 / 0
Проблема с "Excel.Application"
    #32483094
Artur Muradian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, Вы не поверите. Надо в место Sheet1 написать просто 1 (по крайней мере у меня так сработало), вот и все:)
Спасибо большое за помощь.
...
Рейтинг: 0 / 0
Проблема с "Excel.Application"
    #32483108
Artur Muradian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S. hDrummer, у меня стоит английский office. А что с русским будут проблемы?
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проблема с "Excel.Application"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]