Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2009.09.27;
Скачать: [xml.tar.bz2];

Вниз

Странности при импорте из 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;
Скачать: [xml.tar.bz2];

Наверх





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


1-1217416338
hawkins
2008-07-30 15:12
2009.09.27
Настройка окна Structure в среде Delphi2007


15-1248958241
Reactor
2009-07-30 16:50
2009.09.27
помогите с макрос excel ... с движением курсора по ячейкам.


2-1248034498
tcler
2009-07-20 00:14
2009.09.27
Как организовать scripting host плагин на делфи?


15-1248553808
Юрий
2009-07-26 00:30
2009.09.27
С днем рождения ! 26 июля 2009 воскресенье





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский