Главная страница
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.48 MB
Время: 0.012 c
15-1248444891
TStas
2009-07-24 18:14
2009.09.27
Какие книжки посоветуете про API функции?


2-1248171481
MAX
2009-07-21 14:18
2009.09.27
таблицы Word


15-1248936484
123123
2009-07-30 10:48
2009.09.27
rsync


2-1248414854
Abcdef123
2009-07-24 09:54
2009.09.27
2 вопроса.


2-1248355103
zorik
2009-07-23 17:18
2009.09.27
XML - как грамотно прочесть