Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 30.03.2020
Сообщений: 2

Импорт данных из excel

30.03.2020, 12:40. Показов 1937. Ответов 1
Метки php, xls, xlsx (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго дня и здоровья.

В общем стоит задача импорта данных из excel таблиц в базу.
При использовании библиотеки phpspreadsheet возникла следующая проблема.

Есть формула =if(A1=0;"true";"false") , если А1 равняется путоте, тогда getCalculatedValue() выдает "false", хотя сам excel выдает "true"

Исходя из изложенной проблеммы появился вопрос.

Как и какими программными средствами можно заменить все формулы в excel файле вычисленными значениями?

Варианты копирования и вставки только занчений руками пользователя не предлагать )))
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.03.2020, 12:40
Ответы с готовыми решениями:

Заполнение данных в форму или импорт из Excel
Имеется: excel файл с столбцами: группа, семестр, предмет, вид занятий(на каждый предмет: лекция, практика, консультация, экзамен, контр),...

Импорт из Excel
Здравствуйте! Ребята, помогите пожалуйста, решить проблему. Я использую библиотеку phpexcel для импорта данных из excel в MySQl. Во всех...

импорт из Excel в БД MySQL
Здравствуйте. Возник следующий вопрос: сталкивался ли кто-нибудь с задачей импорта данных из файла Excel в БД на MySQL. Имеется...

1
0 / 0 / 0
Регистрация: 30.03.2020
Сообщений: 2
31.03.2020, 09:02  [ТС]
На текущий момент задача решена так:

Используем сервисы drive и spreadsheets от google.

В drive создаем две директории.
В первую добавляем xls, xlsx файлы, а во вторую скрипт сам будет копировать файлы из первой директории, если они будут свежее чем те что лежат во второй директории.

Код пишем в script.google.com, создаем новый проект, при запуске запротсят разрешения, разрешаем.

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
function changeSheets(idss) {
  
  var spreadsheet = SpreadsheetApp.openById(idss); // получаем книгу
  spreadsheet.getSheets() // получаем все листы
  .forEach(function(sheet) { // перебираем листы
    sheet.getRange(1, 1, sheet.getMaxRows(), sheet.getMaxColumns()).activate();// выбираем все ячейки   
    sheet.getRange(1, 1, sheet.getMaxRows(), sheet.getMaxColumns()).copyTo(sheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false); // заменяем все ячейки их значениями 
  });
}
 
 
function getFileByName(name) { 
  var folder_valid = DriveApp.getFoldersByName('price_valid').next();// устанавливаем диреткорию поиска
  var files = folder_valid.searchFiles(Utilities.formatString('title contains "%s" and trashed=false', name));
  var result = undefined;
  while(files.hasNext()){
    var file = files.next();
    if(file.getName() === name){
      result = file;
      break;
    }
  }
  return result;
}
 
function makeCopys() {
 
  var folder = DriveApp.getFoldersByName('price').next(); // Получаем директорию price
  var folder_valid = DriveApp.getFoldersByName('price_valid').next(); // Получаем директорию price_valid
  var files = folder.getFiles(); // получаем все файлы из директории price
  while (files.hasNext()) { // перебираем файлы
  
   var file = files.next(); // переход к следующему в списке
   var name = file.getName();// получаем имя файла
   var file_valid = getFileByName(name);// ищем файл с именем name в директории price_valid(директория прописана в функции getFileByName())
 
    if(file_valid==undefined){ // если файл не найден копируем текущий файл в директорию folder_valid
      new_file_valid = file.makeCopy(name,folder_valid);
      changeSheets(new_file_valid.getId()); // очищаем файл от формул
    }
     if(file_valid!=undefined){ // если найден проверяем дату последнего обновления
       var LastUpdatedOldfile = file.getLastUpdated();
       var LastUpdatedValidfile = file_valid.getLastUpdated();
       if(LastUpdatedOldfile>LastUpdatedValidfile) // если обновился основной файл, file_valid перемещаем в корзину, file копируем в директорию folder_valid
         {
           file_valid.setTrashed(true);
           new_file_valid = file.makeCopy(name,folder_valid);  
           changeSheets(new_file_valid.getId());// очищаем файл от формул
         }
    }    
  }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.03.2020, 09:02
Помогаю со студенческими работами здесь

Экспорт-импорт данных Excel-Access-Excel
Доброе время суток уважаемые форумчане. Приходит информация в экселевской таблице. Скидываю её в общую базу в Access. Для отчета...

Импорт внешних данных в Excel из Excel
Дайте, пожалуйста, ссылку или название книги и главы, где есть описание этого подробно. Что-то вроде учебника.

Импорт данных в таблицу БД из Excel с сохранением всех типов данных в таблице БД
Добрый день! Произвожу импорт данных в таблицу БД ms access из таблицы excel. Необходимо при импорте сохранить все типы данных...

Импорт данных из excel файла в базу данных PostgreSQL
Приветствую, форумчане! Есть задание написать программу на delphi,которая импортирует данные из файла excel в БД PostgreSQL. Проблема в...

Импорт данных из Access в Excel (вставка данных в лист)
Добрый день Уважаемые Гуру VBA. Выгружаю данные из Access в Excel, для анализа загружаю таблицы Access в разные листы Excel. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru