|
27.03.2014, 18:38
#38598419
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
|
|
|
Участник
Сообщения: 3 545
Рейтинг:
0
/ 0
|
|
|
|
парсю ексель табличку с помошью PHPExcele:
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. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69.
<?php
session_start();
error_reporting(E_ALL);
ini_set('display_errors', 1);
require_once('PHPExcel.php');
$host="localhost";
$dbname="exeletodb";
$user="root";
$pass="";
$dbh = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
$index = 9;
// Open the worksheet
$objReader = new PHPExcel_Reader_Excel5();
$objPHPExcel = $objReader->load("1951base.xls");
$objPHPExcel->getDefaultStyle()->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getSheet(0)->setRightToLeft(true);
$objWorksheet = $objPHPExcel->getSheet(0);
$stmt = $dbh->prepare("INSERT INTO data_madad (year, month, madad) VALUES (:year, :month, :madad)");
$stmt->bindParam(':year', $year);
$stmt->bindParam(':month', $month);
$stmt->bindParam(':madad', $madad);
$year = $objPHPExcel->getActiveSheet()->getCell('A8')->getValue();
$month = 9;
$madad = $objPHPExcel->getActiveSheet()->getCell('E8')->getValue();
$stmt->execute();
$stmt = $dbh->prepare("INSERT INTO data_madad (year, month, madad) VALUES (:year, :month, :madad)");
$stmt->bindParam(':year', $year);
$stmt->bindParam(':month', $month);
$stmt->bindParam(':madad', $madad);
$year = $objPHPExcel->getActiveSheet()->getCell('A8')->getValue();
$month = 10;
$madad = $objPHPExcel->getActiveSheet()->getCell('D8')->getValue();
$stmt->execute();
$stmt = $dbh->prepare("INSERT INTO data_madad (year, month, madad) VALUES (:year, :month, :madad)");
$stmt->bindParam(':year', $year);
$stmt->bindParam(':month', $month);
$stmt->bindParam(':madad', $madad);
$year = $objPHPExcel->getActiveSheet()->getCell('A8')->getValue();
$month = 11;
$madad = $objPHPExcel->getActiveSheet()->getCell('C8')->getValue();
$stmt->execute();
$year = $objPHPExcel->getActiveSheet()->getCell('A8')->getValue();
$month = 10;
$madad = $objPHPExcel->getActiveSheet()->getCell('B8')->getValue();
$stmt->execute();
for($i = 9; $i < 71; $i++)
{
for($j = 0; $j < 12; $j++)
{
$current_month = 77 - $j;
$stmt = $dbh->prepare("INSERT INTO data_madad (year, month, madad) VALUES (:year, :month, :madad)");
$stmt->bindParam(':year', $year);
$stmt->bindParam(':month', $month);
$stmt->bindParam(':madad', $madad);
$year = $objPHPExcel->getActiveSheet()->getCell('A'.$i.'')->getValue();
$month = $j + 1;
$madad = $objPHPExcel->getActiveSheet()->getCell(''.chr($current_month ).'8')->getValue();
$stmt->execute();
}
}
первые 4 записи парсятся отдельно (так надо) но с ними всё в порядке а вот когда циклы проходят то оказывается
что в бд попало только по 4 месяца от каждого года(второй цикл это год - 12 месяцев).
с чем это иожет быть связано? как исправить?
|
|
|