Питання Як здійснити читання / запис даних з / в Excel на мові 1с (використовуючи COM-об'єкт)
Основні методи, принципи і хитрості, використовувані при роботі з EXCEL через COM-об'єкт
Читання даних з Excel
Доступ з 1С до Excel здійснюється за допомогою OLE. Створення COM-об'єкта:
Тепер використовуючи змінну Ексель можна управляти додатком Excel.
- Увага! Microsoft Excel повинен бути встановлений на комп'ютері!
Наступна команда відкриє книгу:
Перед тим, як почати зчитування даних, вкажемо лист книги, з якого будемо зчитувати дані:
Нумерація аркушів книги починається з 1. Загальна кількість аркушів можна отримати, використовуючи наступну команду:
Лист можна вибрати на ім'я листа в книзі:
Ім'я листа в книзі можна отримати за номером:
Отже, ми відкрили книгу і вибрали лист, тепер подивимося, скільки рядків і колонок на обраному листі:
Отримаємо значення осередки листа в рядку НомерСтрокі і в колонці НомерКолонкі:
Нижче наведено уривок коду, запустивши який ми прочитаємо всі дані з першої сторінки:
Де ПутьКФайлу - повний шлях до файлу книги Excel (включаючи ім'я).
Після виконання дій необхідно закрити книгу:
Вивантаження даних в Excel
Для виведення (вивантаження) даних в Excel необхідно або відкрити існуючу книгу, або створити нову, і вибрати робочий лист для виведення даних.
Для створення нової книги можна використовувати наступний код:
При створенні книги автоматично створюються листи (за замовчуванням 3). Нам залишається тільки вибрати потрібний:
Або додати в книгу новий лист:
Додамо в клітинку на аркуші значення:
Де ПутьКФайлу - повний шлях до файлу книги Excel (включаючи ім'я).
Після виконання дій необхідно закрити книгу:
Часто використовувані методи Excel
Зберігаю: «Кніга.SaveAs (ПутьДляЗапісіФайла);», де ПутьДляЗапісіФайла - змінна типу «Рядок», зі значенням наприклад «C: 1.xls»
Вітаю! Переді мною стоїть таке завдання: забезпечити перенесення інформації про товар з книги Excel в 1С v8.1 зі створенням карток в довіднику ТМЦ. При цьому дані кожного запису на аркуші Excel повинні поміщатися в відповідні поля картки в 1С. Причому дуже бажано, щоб перед створенням нової картки відбувалася б перевірка на наявність такої в довіднику ТМЦ за будь-якою ідентифікаційним кодом (наприклад, штрих-коду товару), і, якщо така вже існує, то запис ігноріроуется (пропускається). Завдання актуальна для безлічі користувачів, тому смію сподіватися, що така процедура існує в природі ... Ви не в курсі, чи є вона? Дуже хотілося б її отримати будь-яким способом ... Заздалегідь дякую за відповідь.
Добрий день, Анатолій. На диску ІТС є універсальна обробка вивантаження / завантаження з Excel, пошукайте там. Можна спробувати пристосувати її.
І до цієї статті додається обробка - заготівля. Можна спробувати використовувати для своїх доробок її.
«Впізнання» номенклатури за даними файлу Excel в кожному випадку своє, написати щось більш універсальне поки не довелось.
Михайло, Ви вже розібралися з цим?
Місця осередків з інформацією фіксовані, не змінюється від файлу до файлу? Якщо не змінюється, то можна за місцем осередку звертатися, знаючи заздалегідь, що саме там потрібне значення.