Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.09.27;
Скачать: CL | DM;

Вниз

Странности при импорте из Excel   Найти похожие ветки 

 
Альф   (2008-07-30 23:59) [0]

Столкнулся тут со странным поведением Excel.

Суть вот в чём.
Из филиалов присылают отчёты в xls-файле, в которм две страницы "Расчёт" и "Результат". Сам файл заполняется операторами на основании моего шаблона.
Импортирую страницу "Результат" - но судя по тем данным что считываются - считывается страница "Расчёт", пробовал обращаться по имени "Лист2" и "Лист1" - результат тот же, страница "Расчёт".

Причем такое поведение только на трети файлов, остальные импортируются нормально.

Сталкивался ли кто с таким, если да то как решилась проблема ?


 
KilkennyCat ©   (2008-07-31 00:56) [1]

Много лишнего, мало сути. А вот если выключить-включить программу, что считается?


 
MultIfleX   (2008-07-31 07:00) [2]

Кусок кода импорта в студию, посмотрим, подскажем. В устном диалекте это непередаваемо.


 
Альф   (2008-07-31 08:52) [3]

Кусок кода:

 FExcel := TExcel.Create();
 FExcel.Open();

 Screen.Cursor := crAppStart;
 try
   abuf := VarArrayCreate([RANGE_a1, RANGE_z1, RANGE_a2, RANGE_z2], varVariant);

   for i := 0 to lvwFiles.Items.Count -1 do begin
     StatusBar.SimpleText := Format(" %d / %d  %s", [i + 1, lvwFiles.Items.Count, lvwFiles.Items[i].Caption]); ;
     Application.ProcessMessages();

     path := FImportFolder + lvwFiles.Items[i].Caption;
     FExcel.OpenBook(path);
     FExcel.OpenSheet(CSheetName);

     abuf := FExcel.Sheet.Range[RANGE_Name].Value;
...........
     тут дальнейшая обработка массива


Вкл/выкл программы на результаты не влияет.
Думаю проблема именно в Excel. Из более двух десятков филиалов такое только в одном, и то не во всех отчётах. Причем визуально проблемный файл выглядит как правильный. Пробовал переименовывать имя листа - не помогает, всё равно данные считываются с другого.


 
MultIfleX   (2008-07-31 09:06) [4]


>   FExcel.OpenSheet(CSheetName);

а может Sheets("Sheet1").Select ?


 
MultIfleX   (2008-07-31 09:07) [5]

еще сть вариант с Excel.ActiveSheet := ..


 
Cobalt   (2008-08-02 09:04) [6]

Интересно, а в тех филиалах версии Excel"я такая же как у вас?


 
Альф   (2008-08-02 09:59) [7]


> Cobalt   (02.08.08 09:04) [6]
> Интересно, а в тех филиалах версии Excel"я такая же как у вас?


Да - по всему предприятию на юзерских машинах стоит одинаковая версия Office и Windows.

Проблема решилась.
Отослал на этот филиал новый шаблон и эти же люди набрали по новой эти же данные, теперь всё импортируется как должно.
Думаю проблема была в том - что каким то /таинственным/ образом была нарушена структура xls-файла, а операторы часть файлов заполнили, используя не мой шаблон, а просто скопировав поврежденный файл.



Страницы: 1 вся ветка

Текущий архив: 2009.09.27;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.003 c
15-1248936484
123123
2009-07-30 10:48
2009.09.27
rsync


2-1248344622
kostyl_kostyl
2009-07-23 14:23
2009.09.27
Как абстрагироваться от типов свойств класса?


15-1248848901
ZeroDivide
2009-07-29 10:28
2009.09.27
Подножка для Delphi


2-1248329999
Лёша
2009-07-23 10:19
2009.09.27
Экпрорт в Excel произвольного набора данных.


2-1248427186
Бонд444
2009-07-24 13:19
2009.09.27
Напомните функцию.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский