I’m wondering, how it’s possible to help with such issue.
Let’s say, I have an excel with such info in it (it could be much more info):
**Country** **Currency**
Germany EUR
USA USD
Russia RUB
and I’m entering in input form «USA», and I want to see the result USD from excel.
Is there some kind of function in PHP, which allows to search for a value in excel?
Or at least, if there existing such function, which returns in which cell (e.g. B2) such value exists?
asked Jan 20, 2015 at 12:07
Yuriy T.Yuriy T.
1952 gold badges4 silver badges12 bronze badges
There’s nothing built-in to PHPExcel to do a search, but it’s pretty straightforward to write something yourself based around the iterators…. take a look at 28iterator.php
in /Examples
$foundInCells = array();
$searchValue = 'USA';
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
$ws = $worksheet->getTitle();
foreach ($worksheet->getRowIterator() as $row) {
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(true);
foreach ($cellIterator as $cell) {
if ($cell->getValue() == $searchValue) {
$foundInCells[] = $ws . '!' . $cell->getCoordinate();
}
}
}
}
var_dump($foundInCells);
Of course, if you’re only wanting to search a specific column in a specific worksheet, you can simplify this a great deal, e.g. using rangeToArray()
and then searching the array using standard PHP array functions.
answered Jan 20, 2015 at 12:47
Mark BakerMark Baker
208k31 gold badges340 silver badges383 bronze badges
1
As there a re many different Excel Formats (2003, 2010 quirks, ooxml, etc.) you will have to look for a third party library to read excel files.
Find some examples in this question or in this question.
Edit: added a more current question.
answered Jan 20, 2015 at 12:12
Kai BrummundKai Brummund
3,5283 gold badges27 silver badges33 bronze badges
4
За последние 24 часа нас посетили 12784 программиста и 926 роботов. Сейчас ищут 264 программиста …
Поиск по .xls файлу
Тема в разделе «Решения, алгоритмы», создана пользователем elik_asad, 22 сен 2015.
-
elik_asad
Новичок- С нами с:
- 22 сен 2015
- Сообщения:
- 2
- Симпатии:
- 0
Друзья я новичок в php и поэтому прощу помочь. Должен создать поисковик по .xls файлу, в файле имеется два столбца, поискать нужно по первому, а получить как результат всю строку. в файле строк больше 10 000, какая функция подойдет для решения?
#1
elik_asad,22 сен 2015
-
mr.akv
Активный пользователь- С нами с:
- 31 мар 2015
- Сообщения:
- 1.604
- Симпатии:
- 206
php не умеет работать с экселевскими файлами сам. Есть библиотека php Excel, кажется. Почитайте про неё.
#2
mr.akv,22 сен 2015
-
elik_asad
Новичок- С нами с:
- 22 сен 2015
- Сообщения:
- 2
- Симпатии:
- 0
Спасибо, я прогуглил только что, но народ жалуется на time limit и out of memory при использовании PHPExcel на больших количествах строк в файле. А что если перенести хлс в тхт и создать массив на файл, не знаете ли будет ли поиск осуществляться замедленным?
#3
elik_asad,22 сен 2015
-
zahermaher
Новичок- С нами с:
- 27 сен 2014
- Сообщения:
- 170
- Симпатии:
- 14
лучше тогда импортировать содержимое файла в базу данных .
#4
zahermaher,22 сен 2015
(Вы должны войти или зарегистрироваться, чтобы разместить сообщение.)
- Ваше имя или e-mail:
- У Вас уже есть учётная запись?
-
- Нет, зарегистрироваться сейчас.
- Да, мой пароль:
-
Забыли пароль?
-
Запомнить меня
Мне интересно, как можно помочь с таким вопросом.
Допустим, у меня есть Excel с такой информацией (это может быть гораздо больше информации):
**Country** **Currency**
Germany EUR
USA USD
Russia RUB
и я вхожу в форму ввода «США», и я хочу видеть результат в долларах США от Excel.
Есть ли какая-то функция в PHP, которая позволяет искать значение в Excel?
Или, по крайней мере, если существует такая функция, которая возвращает в какую ячейку (например, B2) такое значение?
4
Решение
В PHPExcel нет ничего встроенного для выполнения поиска, но довольно просто написать что-то самостоятельно на основе итераторов … взгляните на 28iterator.php
в /Examples
$foundInCells = array();
$searchValue = 'USA';
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
$ws = $worksheet->getTitle();
foreach ($worksheet->getRowIterator() as $row) {
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(true);
foreach ($cellIterator as $cell) {
if ($cell->getValue() == $searchValue) {
$foundInCells[] = $ws . '!' . $cell->getCoordinate();
}
}
}
}
var_dump($foundInCells);
Конечно, если вы хотите выполнять поиск только в определенном столбце в определенной рабочей таблице, вы можете значительно упростить это, например, с помощью rangeToArray()
и затем поиск в массиве с использованием стандартных функций массива PHP.
11
Другие решения
Поскольку существует множество различных форматов Excel (причуды 2003, 2010, ooxml и т. Д.), Вам придется искать стороннюю библиотеку для чтения файлов Excel.
Найдите несколько примеров в этом вопросе или же в этом вопросе.
Изменить: добавлен более актуальный вопрос.
1
Мне интересно, как можно помочь с такой проблемой.
Скажем, у меня есть превосходство с такой информацией в нем (это может быть намного больше информации):
**Country** **Currency**
Germany EUR
USA USD
Russia RUB
и я вхожу в форму ввода «США», и я хочу увидеть результат USD от excel.
Есть ли какая-то функция в PHP, которая позволяет искать значение в excel?
Или, по крайней мере, если существует такая функция, которая возвращает, в какой ячейке (например, B2) такое значение существует?
20 янв. 2015, в 13:51
Поделиться
Источник
2 ответа
Нет ничего встроенного в PHPExcel для поиска, но довольно просто написать что-то самостоятельно, основанное на итераторах… взгляните на 28iterator.php
в /Examples
$foundInCells = array();
$searchValue = 'USA';
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
$ws = $worksheet->getTitle();
foreach ($worksheet->getRowIterator() as $row) {
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(true);
foreach ($cellIterator as $cell) {
if ($cell->getValue() == $searchValue) {
$foundInCells[] = $ws . '!' . $cell->getCoordinate();
}
}
}
}
var_dump($foundInCells);
Конечно, если вы хотите только искать определенный столбец на конкретном листе, вы можете упростить это, например. используя rangeToArray()
, а затем выполнив поиск массива с использованием стандартных функций массива PHP.
Mark Baker
20 янв. 2015, в 13:02
Поделиться
Как и многие другие форматы Excel (2003, 2010 quirks, ooxml и т.д.), вам придется искать стороннюю библиотеку для чтения файлов excel.
Найдите несколько примеров в этом вопросе или в этом вопросе.
Изменить: добавлен более актуальный вопрос.
Kai Brummund
20 янв. 2015, в 13:04
Поделиться
Ещё вопросы
- 0Как я могу получить 1-й и последний из всех без среднего значения в тот же день
- 0Magento: смена домена со старого на новый и проблемы с хостингом
- 0Перенаправить одну страницу с HTTPS на HTTP
- 1я не понимаю, что такое «защищенная пустота Page_Load»
- 1Приложение активирует кнопку изменения ориентации в строке состояния
- 1Диаграмма разброса Matplotlib дает значение ValueError (msg.format (c.shape, x.size, y.size)) при указании цветов
- 1D3 JS — группа, содержащая прямоугольник SVG, не будет плавно переводиться при перетаскивании
- 1Сокращение времени вычислений для поиска слова в анаграмме
- 0Адаптируйте jQuery-File-Upload для изображения профиля пользователя.
- 0JQuery Play Framework избежать двойной подачи
- 0Cookie-проблема в Angular
- 1Комбинации без дубликатов всех элементов в Python
- 0передача в параметр управления MVC из Javascript
- 1Linq to XML: проблема с двоеточием в тегах xml
- 0Как добавить максимальный лимит элементов в базу данных MySQL?
- 1Java Libgdx правильно опускает ссылки на классы для сборки gwt
- 1Сохранение данных Parcelable
- 0Передача параметров для моего приложения jquery_mobile
- 0Как сложить количество из таблицы CodeIgniter и MySql
- 1Найти оптимальный набор подстрок в данной строке
- 1Реализация представления карусели как прокрутка списка
- 1Воспроизвести буфер AAC на Android
- 1Python Pandas pkl версия датафрейма
- 0Конвертировать svg box в css3 повернутый div
- 0Событие пожара на пятне Следующая стрелка щелчок в угловую, динамическая загрузка
- 1indexoutofrangeexception в Datatable с Parallel.Foreach
- 0Не могу разобрать 0:30 AM / PM правильно в PHP
- 1Настройка Android заставки (активность), как Iphone Part1
- 0Прекратить отправку обычного HTML при ошибке PHP?
- 1общая путаница декларации
- 0Как заменить устаревший тег шрифта на span, используя Beautiful Soup
- 0Возврат данных не работает в запросе http в угловых [дубликаты]
- 1Специальное событие для свойств @Input
- 1$ или оператор не распознается в узле
- 1сельдерей вложенные аккорды не вызывают обратный вызов в правильном порядке
- 1Могу ли я изменить метку кнопки «установить» в TimePickerDialog?
- 1Как сделать анимацию слушателем в MonoDroid?
- 0преобразование jQuery в чистый javascript
- 0подсказка JavaScript с именем
- 1Передайте массив с определенным идентификатором из одного класса в другой в Android
- 1Визуализация Просмотр в бэкэнд DLL
- 1Переместить папки вверх по пути к файлу .class файла в Java
- 0По заданному бинарному дереву поиска найдите узел с наибольшим значением вхождений.
- 0динамически размещаемый массив строк
- 1Java MulticastSocket отправляет, но не получает
- 0Прочитайте больше кнопку к описанию категории после определенных символов.
- 0MySQLi зацикливание запроса по массиву возвращает throws Неопределенное смещение: 1
- 0Выясните, включена ли опция радио, прежде чем нажать
- 1JavaScript перебирает 2D-массив и возвращает несоответствия
- 1Является ли Material TextAppearance полезным для обработки различных textSize
Здравствуйте, необходимо реализовать форму поиска из текстового файла в формате .txt или .excel
Т.З следующее
Пользователь в форму вводит значения ( Имя Фамилия Отчество) , если эти значение имеется в удаленном файле который находится по адрессу www.my-website.ru/user.excel(txt)
То выводит соотвествующий резульат ( Да или Нет)
Как это реализовать? Есть на подобии примеры.
Спсибо.
P.S в данном файле не только ФИО , эти значения рассположены не упорядочно.
-
Вопрос заданболее трёх лет назад
-
168 просмотров
Самый простой вариант, с условием сохранения последовательности ФИО в файле user.txt
function sendForm(){
$.ajax({
url: 'form.php',
type: 'POST',
data: {
fio: $('form input').val();
},
success: function(response) {
$('#result').html(response);
}
});
}
// form.php
$data = file('user.txt', FILE_IGNORE_NEW_LINES);
if (in_array($_POST['fio'], $data)){
echo 'Yes';
}
else {
echo 'No';
}
// user.txt
Лердорф Расмус
Эйх Брендан
Тим Бернерс-Ли
Хокон Виум Ли
Пригласить эксперта
-
Показать ещё
Загружается…
16 апр. 2023, в 16:39
80000 руб./за проект
16 апр. 2023, в 14:44
4500 руб./за проект
16 апр. 2023, в 13:46
1000 руб./за проект