Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.10.2011, 22:45   #1
TranceSmile
Смайлик :)
Форумчанин
 
Аватар для TranceSmile
 
Регистрация: 12.12.2010
Сообщений: 445
По умолчанию Работа с Excel

Доброго времени суток. Помогите разобраться с проблемой.
Почему после открытия файла таким методом
Код:
ExcelApp.Application excel = new ExcelApp.Application();
            ExcelApp.Workbook excelWorkBook;
            excelWorkBook = excel.Workbooks.Open(textBox1.Text,
                                                 Type.Missing, 
                                                 Type.Missing, 
                                                 Type.Missing, 
                                                 Type.Missing, 
                                                 Type.Missing, 
                                                 Type.Missing, 
                                                 Type.Missing, 
                                                 Type.Missing, 
                                                 Type.Missing, 
                                                 Type.Missing, 
                                                 Type.Missing, 
                                                 Type.Missing, 
                                                 Type.Missing, 
                                                 Type.Missing);
            excel.Visible = true;
В Excel он открывается только для чтение. Как исправить?
___________________________________ ___________________________
Разобрался. Нужно выполнять сохранение книги.
после окончания работы с книгой делать так
Код:
excelWorkBook.Save();
Самый перспективный framework Yii (c)

Последний раз редактировалось TranceSmile; 05.10.2011 в 23:37.
TranceSmile вне форума Ответить с цитированием
Старый 10.10.2011, 12:20   #2
TranceSmile
Смайлик :)
Форумчанин
 
Аватар для TranceSmile
 
Регистрация: 12.12.2010
Сообщений: 445
По умолчанию

Код:
class excelClass
    {
        string[] excelExtensions = { "*.xls" };
        string[] alf = { "A", "B", "C", "D", "F", "G", "H","I","J",
                               "K","L","M","N","O","P","Q","R","S","T","V",
                               "W","X","Y","Z",
                               "AA","AB","AC","AD","AE","AF","AG","AH","AI",
                               "AJ","AK","AL","AM","AN","AO","AP","AQ","AR",
                               "AS","AT","AV","AW","AX","AY" };

        DateTime dt;
        
        public excelApp.Application excel;
        public excelApp.Workbook WorkBook;
        public excelApp.Worksheet WorkSheet;
        public excelApp.Sheets Sheets;
        public excelApp.Range Cells;
        
        public List<Exception> ex;

        string path;
        public excelClass()
        {
            System.Globalization.CultureInfo oldCI = System.Threading.Thread.CurrentThread.CurrentCulture;
            System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
            dt = new DateTime();
            dt = DateTime.Today;
            try
            {
                excel = new excelApp.Application();
                ex = new List<Exception>();
            }
            catch (Exception ex)
            {
                this.ex.Add(ex);
            }
        }
        public void open(string path,bool excelVisible)
        {
            try
            {
                WorkBook = excel.Workbooks.Open(path, Type.Missing, Type.Missing,
                                               Type.Missing, Type.Missing,
                                               Type.Missing, Type.Missing,
                                               Type.Missing, Type.Missing,
                                               Type.Missing, Type.Missing,
                                               Type.Missing, Type.Missing,
                                               Type.Missing, true);
                excel.Visible = excelVisible;
                Sheets = WorkBook.Sheets;
                
            }
            catch (Exception ex) { this.ex.Add(ex); }
        }
        public void close(bool save)
        {
            WorkBook.Close(save, Type.Missing, Type.Missing);
        }
        public void close()
        {
            try
            {
                WorkBook.Close(false, Type.Missing, Type.Missing);
            }
            catch (Exception ex)
            {
                this.ex.Add(ex);
            }
            finally
            {
                excel.Quit();
            }
        }
        public void Sheet(int num)
        {

            try
            {
                WorkSheet = (excelApp.Worksheet)Sheets.get_Item(1);
            }
            catch (Exception ex)
            {
                this.ex.Add(ex);
                throw new Exception();
            }
            finally
            {
                close();
            }
        }
        public void Sheet(string name)
        {
            try
            {
                WorkSheet = (excelApp.Worksheet)Sheets.get_Item(name);
            }
            catch (Exception ex)
            {
                this.ex.Add(ex);
            }
            finally
            {
                close();
            }
        }
        public void range(string range)
        {
            try
            {
                Cells = WorkSheet.get_Range(range,range).Cells;
            }
            catch (Exception ex)
            {
                this.ex.Add(ex);
            }
            finally
            {
                close();
            }
        }
        public void range(string range, string range1)
        {
            try
            {
                Cells = WorkSheet.get_Range(range, range1).Cells;
            }
            catch (Exception ex)
            {
                this.ex.Add(ex);
            }
            finally
            {
                close();
            }
        }
   }
}
Обьясните пожалуйста почему работает только функция open все остальные выделуются. В C# я новичёк.
Самый перспективный framework Yii (c)
TranceSmile вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа в Excel cyberptz Помощь студентам 2 12.11.2010 18:29
Работа с Excel Miller-1981 Visual C++ 2 29.10.2010 08:29
Работа с Excel Mamuk Общие вопросы Delphi 9 05.08.2010 08:48
Работа с EXCEL... nikolai_P Общие вопросы Delphi 6 25.02.2009 14:58