office 2003
От: Ovsyannikov  
Дата: 08.10.05 14:14
Оценка:
Подскажите как работать с excel 2003. С 2002-м получается, а с 2003-м никак.
office 2003
От: Аноним  
Дата: 08.10.05 16:42
Оценка:
Глыбокоооо.
----
В моём WMP Плагины для Офиса


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: office 2003
От: Аноним  
Дата: 08.10.05 18:53
Оценка:
Здравствуйте, Ovsyannikov, Вы писали:

O>Подскажите как работать с excel 2003. С 2002-м получается, а с 2003-м никак.


Пример от AntiXtiSt

/// <summary>
/// Заполненя таблицы данными с excel-листа
/// </summary>
/// <param name="strSheetName">Имя листа [+ набор ячеек]</param>
/// <returns>Объект — таблица</returns>
public System.Data.DataTable getData(string strSheetName)
{
if (strSheetName == "")
strSheetName = combo.Items[combo.SelectedIndex].ToString();
// Избавляет нас от глюка Excel-я
System.Globalization.CultureInfo ci = System.Threading.Thread.CurrentThread.CurrentCulture;
System.Threading.Thread.CurrentThread.CurrentCulture =
System.Globalization.CultureInfo.CreateSpecificCulture("en-US");

#region Work

Excel.ApplicationClass app = null;
Excel.Workbook book = null;
Excel.Worksheet sheet = null;
Excel.Range range = null;

try
{
app = new Excel.ApplicationClass();

}
catch(Exception ex)
{
app = (Excel.ApplicationClass)Marshal.GetActiveObject("Excel.Application");
string s = ex.Message;
}

try
{
app.Visible = false;
app.ScreenUpdating = false;
app.DisplayAlerts = false;

book = app.Workbooks.Open(this.Filename, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value);
//Отличие версий (новая — 15 параметров)
//, Missing.Value, Missing.Value);

//sheet = (Worksheet)book.Worksheets[(object)strSheetName];
sheet = (Excel.Worksheet) book.Worksheets.get_Item(1);

// get a range to work with
range = sheet.get_Range("A1", Missing.Value);
// get the end of values to the right (will stop at the first empty cell)
range = range.get_End(Excel.XlDirection.xlToRight);
// get the end of values toward the bottom, looking in the last column (will stop at first empty cell)
range = range.get_End(Excel.XlDirection.xlDown);

// get the address of the bottom, right cell
string downAddress = range.get_Address(
false, false, Excel.XlReferenceStyle.xlA1,
Type.Missing, Type.Missing);

// Get the range, then values from a1
range = sheet.get_Range("A1", downAddress);
System.Data.DataTable dt = new System.Data.DataTable(strSheetName);

object[,] values = (object[,])range.Value2;
for (int col = 1; col <= values.GetLength(1); col++)
dt.Columns.Add(new DataColumn(values[1, col].ToString()));
object[] oo = new object[values.GetLength(1)];
for (int row = 2; row <= values.GetLength(0) — 2; row++)
{
// 3 — колонка в которой пустая клетка означает конец всего считывания
if (values[row, 3] == null) break;
for (int col = 1; col <= values.GetLength(1); col++)
oo[col — 1] = values[row, col];
dt.Rows.Add(oo);
}
System.Threading.Thread.CurrentThread.CurrentCulture = ci;
return dt;
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
finally
{
range = null;
sheet = null;
if (book != null)
book.Close(false, Missing.Value, Missing.Value);
book = null;
if (app != null)
app.Quit();
app = null;
}
#endregion

System.Threading.Thread.CurrentThread.CurrentCulture = ci;
return null;
}
Re: office 2003
От: Аноним  
Дата: 08.10.05 22:24
Оценка:
Запостить, что ли, страниц на 5-7 чего-нибудь? Мне не жалко Надо?
----
В моём WMP Плагины для Офиса


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: office 2003
От: Ovsyannikov  
Дата: 09.10.05 06:17
Оценка:
Здравствуйте, Ovsyannikov, Вы писали:

O>Подскажите как работать с excel 2003. С 2002-м получается, а с 2003-м никак


Немного уточню вопрос. Код нужен для VB.NET
Раньше работало это:

Appexel = CreateObject("Excel.Application")
Ex = Appexel.workbooks.open(Txt)

А с 2003-м офисом на второй строке вылетает ошибка.
.
Re: office 2003
От: Аноним  
Дата: 09.10.05 11:31
Оценка:
А "раньше" — это когда?
----
В моём WMP Плагины для Офиса


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[2]: office 2003
От: Ovsyannikov  
Дата: 09.10.05 14:32
Оценка:
Здравствуйте, Dkm_S, Вы писали:

D_S>А "раньше" — это когда?


До MS Office 2003
Re[2]: office 2003
От: Аноним  
Дата: 09.10.05 15:23
Оценка:
Скорее всего ответ явно остался без внимания. Не побоюсь повториться и ещё раз на него укажу: здесь
Re[2]: office 2003
От: Аноним  
Дата: 09.10.05 23:10
Оценка: :)
>Не побоюсь повториться и ещё раз на него укажу

Судя по всему, может и подойти.
Правда, задававший вопрос ничего так толком и не спросил за два дня.
----
В моём WMP Плагины для Офиса


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.