Считается, что Excel удаляет ведущие 0. Мне сказали, что обновление формата столбца на текст во время экспорта исправит это и изменит вывод Excel (из файла «ProofAndTracking actionIpromoteuAutomation», но я не могу найти этот файл или как получить доступ к тому, где генерируется код форматирования Excel) .
Я никогда не работал с Excel. Я пробовал это, но, похоже, это локальное исправление:
http://excelribbon.tips.net/T010262_Han ... Files.html
Может ли кто-нибудь указать мне, в каком направлении начать?
Я исследовал эти ответы. Как предотвратить удаление ведущих нулей при экспорте в Excel из таблицы данных? и экспортировать Excel: не удаляйте ведущие нули
Заранее спасибо!
Вот функция, которая, по моему мнению, вызывает проблему, но не уверен но как отформатировать столбцы в текст здесь. /*
* форматирование и отправка заказа и информации об отслеживании (через электронную таблицу Excel) за день для ipromoteu (150837)
*/
public function actionIpromoteuAutomation() {
$ordersGroup1 = $this->getIpromoteuProof();
$ordersGroup2 = $this->getIpromoteuProofHistory();
$orders = array_merge($ordersGroup1, $ordersGroup2);
$fileName = 'Hit Promo Order Tracking ' . date('m-d-Y');
$this->_export($orders, $fileName);
$fileName = $fileName . '.xls';
$toIPROMOTEU = array(//email to be sent to HR when request is submitted
'body' => 'Attached, please find the Excel spreadsheet containing'
. ' order details for orders on ' . date('m/d/Y') . '.',
'from_email' => 'donotreply@hitpromo.net',
'from_name' => 'Hit Promotional Products',
'subject' => 'Order Tracking Information - ' . date('m/d/Y'),
'to_emails' => 'orders@ipromoteu.com',
'attachments' => array(array('path' => Yii::app()->basePath . '/../tmp/' . $fileName, 'filename' => $fileName)),
);
Hit::email((object) $toIPROMOTEU);
$this->logForDeveloper('Order records sent to iPromoteU for '. date('m/d/Y'));
}
private function _export($data, $fileName, $format = 'excel', $output = false) {
// get a reference to the path of PHPExcel classes
$phpExcelPath = Yii::getPathOfAlias('ext.phpexcel');
// Turn off our yii library autoload
spl_autoload_unregister(array('YiiBase', 'autoload'));
include($phpExcelPath . DIRECTORY_SEPARATOR . 'PHPExcel.php');
// Create new PHPExcel object
$objPHPExcel = new PHPExcel();
if ($format == 'excel') {
// Set properties
$objPHPExcel->getProperties()->setCreator(Yii::app()->user->name)
->setLastModifiedBy(Yii::app()->user->name)
->setTitle('Order Tracking Report');
}
$styleArray = array(
'font' => array(
'bold' => true,
'underline' => true,
)
);
$objPHPExcel->setActiveSheetIndex(0);
$sheet = $objPHPExcel->getActiveSheet();
for ($rowCounter = 0; $rowCounter < sizeof($data); $rowCounter++) {
$sheet->getStyle("A" . ($rowCounter + 1))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
$sheet->getStyle("B" . ($rowCounter + 1))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
$sheet->getStyle("C" . ($rowCounter + 1))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
$sheet->setCellValue("A" . ($rowCounter + 1), date('m/d/Y', strtotime($data[$rowCounter]['date'])));
//$sheet->setCellValue("A".($rowCounter+1), $data[$rowCounter]['date']);
if ($data[$rowCounter]['fedex_tracking'] != '')
$sheet->setCellValue("B" . ($rowCounter + 1), $data[$rowCounter]['fedex_tracking']);
else
$sheet->setCellValue("B" . ($rowCounter + 1), $data[$rowCounter]['other_tracking']);
$sheet->setCellValue("C" . ($rowCounter + 1), $data[$rowCounter]['sales_order_number']);
$sheet->getStyle("B" . ($rowCounter + 1))->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);
}
$sheet->setCellValue("A1", "DATE")
->setCellValue("B1", "TRACKING")
->setCellValue("C1", "PO NUMBER")
->getStyle("A1:C1")->applyFromArray($styleArray);
////Set the column widths
$sheet->getColumnDimension("A")->setWidth(25);
$sheet->getColumnDimension("B")->setWidth(25);
$sheet->getColumnDimension("C")->setWidth(25);
// Rename sheet
$objPHPExcel->getActiveSheet()->setTitle('Order Tracking Report');
// Set active sheet index to the first sheet,
// so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);
$fileName = $fileName . ($format == 'excel' ? '.xls' : '.csv');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$path = Yii::app()->basePath . '/../tmp/' . $fileName;
$objWriter->save($path);
// Once we have finished using the library, give back the
// power to Yii...
spl_autoload_register(array('YiiBase', 'autoload'));
}
public function getIpromoteuProof() {
$date = date('Ymd');
$db2params = Yii::app()->params['db2params'];
$db = Zend_Db::factory('Db2', $db2params);
$select = $db->select()
->from(
// table
array('t' => 'WBPIPRAE'),
// columns
array(
'sales_order_number' => 'TRIM(WAESPO#)',
),
// schema
$db2params['schemas']['hitdta'])
->joinLeft(
// table
array('f' => 'MFD1MD'), 'CONCAT(TRIM(WAEORD#),RIGHT(TRIM(MDORDR),3))=TRIM(MDORDR)',
// columns
array(
'fedex_tracking' => 'TRIM(MDFTRK)',
'other_tracking' => 'TRIM(MDFBRC)',
'date' => 'TRIM(MDUPDT)',
),
// schema
$db2params['schemas']['varfil'])
->where("MDUPDT = '" . $date . "'")
->where("WAEIVKY='150837'")
->order('sales_order_number')
->distinct(true);
$stmt = $db->query($select);
$orders = $stmt->fetchAll();
return $orders;
}
Подробнее здесь: https://stackoverflow.com/questions/246 ... -csv-files
Excel удаляет ведущие 0 из файлов CSV ⇐ Php
Кемеровские программисты php общаются здесь
1721693763
Anonymous
Считается, что Excel удаляет ведущие 0. Мне сказали, что обновление формата столбца на текст во время экспорта исправит это и изменит вывод Excel (из файла «ProofAndTracking actionIpromoteuAutomation», но я не могу найти этот файл или как получить доступ к тому, где генерируется код форматирования Excel) .
Я никогда не работал с Excel. Я пробовал это, но, похоже, это локальное исправление:
http://excelribbon.tips.net/T010262_Handling_Leading_Zeros_in_CSV_Files.html
Может ли кто-нибудь указать мне, в каком направлении начать?
Я исследовал эти ответы. Как предотвратить удаление ведущих нулей при экспорте в Excel из таблицы данных? и экспортировать Excel: не удаляйте ведущие нули
Заранее спасибо!
Вот функция, которая, по моему мнению, вызывает проблему, но не уверен но как отформатировать столбцы в текст здесь. /*
* форматирование и отправка заказа и информации об отслеживании (через электронную таблицу Excel) за день для ipromoteu (150837)
*/
public function actionIpromoteuAutomation() {
$ordersGroup1 = $this->getIpromoteuProof();
$ordersGroup2 = $this->getIpromoteuProofHistory();
$orders = array_merge($ordersGroup1, $ordersGroup2);
$fileName = 'Hit Promo Order Tracking ' . date('m-d-Y');
$this->_export($orders, $fileName);
$fileName = $fileName . '.xls';
$toIPROMOTEU = array(//email to be sent to HR when request is submitted
'body' => 'Attached, please find the Excel spreadsheet containing'
. ' order details for orders on ' . date('m/d/Y') . '.',
'from_email' => 'donotreply@hitpromo.net',
'from_name' => 'Hit Promotional Products',
'subject' => 'Order Tracking Information - ' . date('m/d/Y'),
'to_emails' => 'orders@ipromoteu.com',
'attachments' => array(array('path' => Yii::app()->basePath . '/../tmp/' . $fileName, 'filename' => $fileName)),
);
Hit::email((object) $toIPROMOTEU);
$this->logForDeveloper('Order records sent to iPromoteU for '. date('m/d/Y'));
}
private function _export($data, $fileName, $format = 'excel', $output = false) {
// get a reference to the path of PHPExcel classes
$phpExcelPath = Yii::getPathOfAlias('ext.phpexcel');
// Turn off our yii library autoload
spl_autoload_unregister(array('YiiBase', 'autoload'));
include($phpExcelPath . DIRECTORY_SEPARATOR . 'PHPExcel.php');
// Create new PHPExcel object
$objPHPExcel = new PHPExcel();
if ($format == 'excel') {
// Set properties
$objPHPExcel->getProperties()->setCreator(Yii::app()->user->name)
->setLastModifiedBy(Yii::app()->user->name)
->setTitle('Order Tracking Report');
}
$styleArray = array(
'font' => array(
'bold' => true,
'underline' => true,
)
);
$objPHPExcel->setActiveSheetIndex(0);
$sheet = $objPHPExcel->getActiveSheet();
for ($rowCounter = 0; $rowCounter < sizeof($data); $rowCounter++) {
$sheet->getStyle("A" . ($rowCounter + 1))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
$sheet->getStyle("B" . ($rowCounter + 1))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
$sheet->getStyle("C" . ($rowCounter + 1))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
$sheet->setCellValue("A" . ($rowCounter + 1), date('m/d/Y', strtotime($data[$rowCounter]['date'])));
//$sheet->setCellValue("A".($rowCounter+1), $data[$rowCounter]['date']);
if ($data[$rowCounter]['fedex_tracking'] != '')
$sheet->setCellValue("B" . ($rowCounter + 1), $data[$rowCounter]['fedex_tracking']);
else
$sheet->setCellValue("B" . ($rowCounter + 1), $data[$rowCounter]['other_tracking']);
$sheet->setCellValue("C" . ($rowCounter + 1), $data[$rowCounter]['sales_order_number']);
$sheet->getStyle("B" . ($rowCounter + 1))->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);
}
$sheet->setCellValue("A1", "DATE")
->setCellValue("B1", "TRACKING")
->setCellValue("C1", "PO NUMBER")
->getStyle("A1:C1")->applyFromArray($styleArray);
////Set the column widths
$sheet->getColumnDimension("A")->setWidth(25);
$sheet->getColumnDimension("B")->setWidth(25);
$sheet->getColumnDimension("C")->setWidth(25);
// Rename sheet
$objPHPExcel->getActiveSheet()->setTitle('Order Tracking Report');
// Set active sheet index to the first sheet,
// so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);
$fileName = $fileName . ($format == 'excel' ? '.xls' : '.csv');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$path = Yii::app()->basePath . '/../tmp/' . $fileName;
$objWriter->save($path);
// Once we have finished using the library, give back the
// power to Yii...
spl_autoload_register(array('YiiBase', 'autoload'));
}
public function getIpromoteuProof() {
$date = date('Ymd');
$db2params = Yii::app()->params['db2params'];
$db = Zend_Db::factory('Db2', $db2params);
$select = $db->select()
->from(
// table
array('t' => 'WBPIPRAE'),
// columns
array(
'sales_order_number' => 'TRIM(WAESPO#)',
),
// schema
$db2params['schemas']['hitdta'])
->joinLeft(
// table
array('f' => 'MFD1MD'), 'CONCAT(TRIM(WAEORD#),RIGHT(TRIM(MDORDR),3))=TRIM(MDORDR)',
// columns
array(
'fedex_tracking' => 'TRIM(MDFTRK)',
'other_tracking' => 'TRIM(MDFBRC)',
'date' => 'TRIM(MDUPDT)',
),
// schema
$db2params['schemas']['varfil'])
->where("MDUPDT = '" . $date . "'")
->where("WAEIVKY='150837'")
->order('sales_order_number')
->distinct(true);
$stmt = $db->query($select);
$orders = $stmt->fetchAll();
return $orders;
}
Подробнее здесь: [url]https://stackoverflow.com/questions/24612302/excel-is-stripping-leading-0s-from-csv-files[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия