2013-10-13 3 views
-1

я имею файл первенствовать, который имеет около hundres писем, которые находятся в первой колонке ..данных Excel читать и сплит с PHP

его, как это,

Ameerali Uncle. <[email protected]> 
Afkaar (Habeeb). <[email protected]> 
Ameerali Uncle. <[email protected]> 

я хотел взять перерыв это из <> Подпишите и поместите его в новый столбец и оставьте первый столбец с именем. поэтому после этого это будет

column 1   column 2 
Afkaar (Habeeb) [email protected] 

Это возможно связать с php? может ли кто-нибудь предложить мне хороший механизм для этого.

благодаря

EDIT 1

Мой образец файла Excel, как показано ниже.

enter image description here

+1

чтение первенствует контент в PHP, манипулирует содержимое строки (регулярное выражение может потребоваться), а затем воссоздайте файл excel. – ihsan

+1

проверить [PHP-ExcelReader] (http://sourceforge.net/projects/phpexcelreader/) – gwillie

+1

@mazraara вам понадобится VBA вместо php. – ihsan

ответ

3

Вы можете использовать библиотеку PHPExcel для чтения/записи из/в Excel-файлов. (загрузка и документация доступны по адресу http://phpexcel.codeplex.com/). Затем используйте RegExs для разделения строк.

EDIT 1

Код будет выглядеть примерно так:

// Include PHPExcel_IOFactory 
include 'PHPExcel/IOFactory.php'; 

$inputFileName = './example1.xlsx'; 
$outputFileName = './output.xlsx'; 

// Read your Excel workbook 
try { 
    $inputFileType = PHPExcel_IOFactory::identify($inputFileName); 
    $objReader = PHPExcel_IOFactory::createReader($inputFileType); 
    $objPHPExcel = $objReader->load($inputFileName); 

    $outputObj = new PHPExcel(); 
} catch(Exception $e) { 
    die('Error loading file: '. $e->getMessage()); 
} 

// Get worksheet dimensions 
$sheet = $objPHPExcel->getSheet(0); 
$highestRow = $sheet->getHighestRow(); 

$outputObj->setActiveSheetIndex(0); 
$outSheet = $outputObj->getActiveSheet(); 

// Loop through each row of the worksheet in turn 
for ($row = 2; $row <= $highestRow; $row++){ // As row 1 seems to be header 
    // Read cell A2, A3, etc. 
    $line = $sheet->getCell('A' . $row)->getValue(); 
    preg_match("|([^\.]+)\. <([^>]+)>|", $line, $data); 
    // $data[1] will be name & $data[2] will be email 
    $outSheet->setCellValue('A' . $row, $data[1]); 
    $outSheet->setCellValue('B' . $row, $data[2]); 
} 

// write new data into a .xlsx file 
$objWriter = new PHPExcel_Writer_Excel2007($outputObj); 
$objWriter->save($outputFileName); 

Источники: Stackoverflow Question, PHPExcel Example

+0

tnx много для этого, btw можно показать этот пример с использованием PLS PHPExcel? – dev1234

+0

@ SignNaL89 PLS проверить отредактированный вопрос выше. Я поставил фотографию. – dev1234

Смежные вопросы