Что нового

Excel копирование

doctor

Новичок
Сообщения
9
Репутация
0
Есть два Excel документа. В одном Фамилия|Имя|Отчество, а в другом Иванов|Иван|Иванович. Как в первый документ поместить второй, чтобы сформировать таблицу из двух в одном документе, т.е. поместить данные из первого документа во второй не удаляя прежних данных.. Заранее всем спасибо..
 

axlwor

Скриптер
Сообщения
657
Репутация
147
Выделить нужное из первого. Вставить в нужное место во второе. будет быстрее.
Или смотри хелп по
Код:
_ExcelReadSheetToArray ()
_ExcelWriteSheetFromArray ()
 
Автор
D

doctor

Новичок
Сообщения
9
Репутация
0
axlwor, просьба к тебе -> напиши пример, пожалуйста...


Добавлено:
Сообщение автоматически объединено:

Вот нарыл код:
Код:
$oExcel = ObjGet('C:\Documents and Settings\doctor\Desktop\Новая папка\1.xls'); тут путь файла
$data = $oExcel.WorkSheets("Лист1").Cells(1, 1).Value; название рабочего листа и координаты ячейки, откуда будут браться данные
MsgBox(0, '' , $data); полученная инфа заносится в переменную
$oExcel = 0

А как дальше поместить эти данные в определенные ячейки в другой документ 2.xls? Не могу сделать, уже по-разному пробовал...
 

axlwor

Скриптер
Сообщения
657
Репутация
147
Точное задание не понял :whistle:
Код:
#Include <excel.au3>

;Ошибки нигде не обрабатываю )
;Переменные нигде не объявляю )

;Имя и путь (папка запуска) первого/второго файла
$file1 = @ScriptDir & "\Test1.xls"
$file2 = @ScriptDir & "\Test2.xls"

;Открываем его. Невидимка. Берем данные с АКТИВНОГО листа
$oExcel1 = _ExcelBookOpen($file1 , 0 , True)
$oExcel2 = _ExcelBookOpen($file2 , 0 , True)

;Третий файл будет результатом
$oExcel = _ExcelBookNew(0)

;Только заголовок первого файла
$aArray = _ExcelReadSheetToArray($oExcel1, 1, 1, 1)
;Все данные с листа в массив без первой строки
$aArray1 = _ExcelReadSheetToArray($oExcel1, 2)
$aArray2 = _ExcelReadSheetToArray($oExcel2, 2)

;Пишем заголовок
_ExcelWriteSheetFromArray($oExcel, $aArray, 1, 1, 1, 1)
;Пишем первый/второй файлы
_ExcelWriteSheetFromArray($oExcel, $aArray1, 2, 1, 1, 1)
_ExcelWriteSheetFromArray($oExcel, $aArray2, 1+UBound($aArray1), 1, 1, 1)

;Сохраняем (перезаписываем) результат
_ExcelBookSaveAs($oExcel, @ScriptDir & "\Test.xls", "xls", 0, 1)

;Закрываем без сохранения первый/второй/третий файл
_ExcelBookClose($oExcel1, 0, 0)
_ExcelBookClose($oExcel2, 0, 0)
_ExcelBookClose($oExcel, 0, 0)
MsgBox (0,0,"Закончили работу!")


в файлах test1.xls test2.xls
 
Верх