пробую распарсить файл http://1c.ru/rus/partners/pricelst.jsp В столбике "Наименование" не выводятся русские названия. Точнее выводятся, но 1 из 10. Помогите, плз, очень нужно
да ладно, кончайте дурака валять. Лучше EMS ничего нет. И в частности для импорта в бд из разных форматов, xls в том числе. Даже можно не искать
Простите за возможно глупый вопрос. Где, все-таки, можно посмотреть примеры записи инфы в ячейки Excel (с использованием OLE Automation в среде PHP-4) ? Или прочитать ? Как запустить Excel в режиме OLE Automation server. Как Получить ссылку на рабочую книгу. Как создать новый лист (и получить ссылку на существующий) ? Как записать в ячейку. Хотелось бы поять суть. Подскажите, pls.
Не работает парсер при формате .xlsx Вот файл http://www.ageent.ru/images/prim.zip Выбивает ошибку. ERROR: файл не EXCEL! Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet В чем может быть проблема? Файл EXCEL!
Всем привет. Есть необходимость достать из экселя несколько строчек на разных языках (в том числе на русском, китайском) и сгенерить из них картинку. Для того, чтобы забирать данные из экселя использую комовские объекты. Русский язык сделал перекодировкой "$cell_value = iconv ("cp1251","utf-8",$cell_value);" (до этого отображались краказябрики). А вот китайский победить не получается. Он выводится на картинке как "????". При этом если скопировать китайский из экселя на прямую в скрипт ($chn = "您的设备"; а потом делать ImageTTFText ($im, 15, 0, 10, 20, $white, "Arialuni.ttf", $chn); ), то на картинке отображаются иероглифы. В общем вот листинг с комментариями: Код (Text): <?php //создаём COM объект для экселя и открывает нужный файл $excel = new COM("Excel.Application"); $excel->Visible = 0; $excel->Workbooks->Open("Prompts.xls"); $sheet = $excel->Worksheets(1); $sheet->activate; //в цикле перебираем полезные ячейки for ($i=4; $i<20; $i++) { for ($j=4; $j<15; $j++){ $cell = $sheet->Cells($i,$j); $cell->Activate; //получаем значение ячейки (см. сноску *) $cell_value = $cell->value; //лениво проверять не пустая ли строчка, потому просто рисую пробел перед ней $cell_value = " ".$cell_value; //исправляем русский (см. сноску **) $cell_value = iconv ("cp1251","utf-8",$cell_value); $i_str = strval ($i); $j_str = strval ($j); $fl_name = "scr_".$i_str."_".$j_str.".png"; //генерим картинку Header ("Content-type: image/png"); $height = 50; $width = 200; $im = ImageCreate ($width, $height); $white = ImageColorAllocate ($im, 255, 255, 255); $black = ImageColorAllocate ($im, 0, 0, 0); ImageFill($im, 0, 0, $black); //Другими шрифтами китайский полностью не выводится. ImageTTFText ($im, 15, 0, 10, 20, $white, "Arialuni.ttf", $cell_value); ImagePNG ($im,$fl_name); ImageDestroy ($im); Header ("Content-type: text/html"); } } $excel->Workbooks->Close(); $excel->Quit(); unset($sheet); unset($excel); ?> * Вот здесь может быть @ и зарыта, потому как если эхом вывести полученное из экселя, то оно так же отображается как "???" в случае китайского языка. ** Для китайского пытался делать: $cell_value = iconv ("ХХХ","utf-8",$cell_value);, где вместо ХХХ ставил - big5_bin; big5_chinese_ci ; gb2312_bin; gb2312_chinese_ci ; gbk_bin ; gbk_chinese_ci; utf8_general_ci. С ними вообще ничего не выводилось на картинку. Еще пробовал gb2312 - с ним европейские языки выводятся нормально, китайский выводится как "?????", а русский выводится иероглифами. В общем видимо всё ломается на этапе забирания строки на китайском из экселя, только вот не ясно эксель отдаёт криво или я забираю не так как надо. Какие будут советы?
Проблема в том что файл действительно не ехель.... Ты приколись, переименуй в .zip и открой архиватором... Думаю написать свой скрипт парсинга - труда не составит )
У меня вопрос по кодировкам. В данном случае используется юникод. Будет ли корректно, если я напишу таким образом? --> PHP: header ("content-type: text/html; charset=windows-1251"); вместо PHP: header ("content-type: text/html; charset=utf-8"); и PHP: return iconv('UNICODELITTLE','windows-1251',$str); вместо PHP: return iconv('UNICODELITTLE','UTF-8',$str);
silverworld пеервожу. =) А мне наоборот надо вставить таблицу Еэжек на страницу что бы е? можно было редактировать╝ Ну ? о ? орядку╝ Я сделал смету в екселе и ??очу выложить на страницу╛ ? равда не ОУО╛ а УРЛК╛ но суть от этого не меняется╝ Вот╛ соответственно у ? осетителей страницы должна быть возможность за? олнять эту таблицу╝ Подскажите╛ ? ожалуйста╛ возможно ли такое сделать╘
Автор извени, не буду засорять форум новой темой, напишу сюда.. В общем, нужно решить одну задачу в Microsoft Excel (если кто-то может реализовать это же, например в PHP, то это тоже подойдет), если хотите, то могу и заплатить за нее. В общем вот суть задачи: 1)Ячейки A1, B1 и C1 пустые. 2)В ячейках A2, B2, C2, находятся числа (они всегда положительные и больше 1, значение этих чисел я должен иметь возможность изменять). 3) Значение ячеек A4, B4 и C4, равно (A4= A2*A3, B4= B2*B3, C4= C2*C3) и A4>D3, B4>D3, C4>D3. 4)Значение ячейки D3= A3+ B3+C3 4)Нужно получить значения в ячейках A3, B3 и C3, чтобы эти значения были положительные и больше 20.
а как можно информацию которую вывели скриптом на страницу еще и записать в БД в таблицу определенную ?
берешь исходник, смотришь где информация выводится на страницу и вместо этого принта формируешь insert запрос в нужную тебе таблицу.