php+mysql的编程环境。
利用PHPExcel包已经实现将mysql中取出的数据输出到生成的Excel文件中。
现在的问题是在生成的横版excel文件中,有的单元格内的数据因为是动态从数据库取出的,有长有短,
字数较多的数据因为单元格长度的限制,部分数据显示不到,想认为设置个强制换行,以使其全部显示。
在网上找了好长时间,也找不到对应的解决方案。因为Excel的生成是在客户端实现的,所以觉得设置
一个javascript限制,应该可以解决,不过自己对javascript不是很熟,想求教高人帮忙解决一下,
多谢了。
附上部分代码:<?php
require_once('../PHPExcel.php');
require_once('../PHPExcel/Writer/Excel2007.php'); 
date_default_timezone_set('Asia/Tokyo');
echo date('Y-m-d H:i:s');$objPHPExcel = new PHPExcel();$objPHPExcel->setActiveSheetIndex(0);
$sheet = $objPHPExcel->getActiveSheet();
$sheet->setTitle($_SESSION["MemberId"].$_SESSION["DifCompany"].$_SESSION["namae"]);
$objPHPExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4);
$sheet->getDefaultStyle()->getFont()->setName(mb_convert_encoding('MS Pゴシック', 'UTF-8'));
$sheet->getDefaultStyle()->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$sheet->getDefaultStyle()->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);$cell_style = array(   
  'borders' => array(   
  'top'     => array('style' => PHPExcel_Style_Border::BORDER_THIN),   
  'bottom'  => array('style' => PHPExcel_Style_Border::BORDER_THIN),   
  'left'    => array('style' => PHPExcel_Style_Border::BORDER_THIN),   
  'right'   => array('style' => PHPExcel_Style_Border::BORDER_THIN)   
  )   
);  $word = array("A","B","C","D","E","F","G","H","I","J","K","L","M");//$sheet->getStyleByColumnAndRow(1, 2)->applyFromArray($cell_style); 
$sheet->getStyle('E1')->getFont()->setBold(true);
$sheet->getStyle('E1')->getFont()->setSize(18);
$sheet->getStyle('A9')->getFont()->setBold(true);
$sheet->getStyle('A9')->getFont()->setSize(12);
$sheet->getStyle('A4')->applyFromArray($cell_style);
$sheet->getStyle('A5')->applyFromArray($cell_style);
$sheet->getStyle('A6')->applyFromArray($cell_style);
$sheet->getStyle('B4:D4')->applyFromArray($cell_style);
$sheet->getStyle('B5:D5')->applyFromArray($cell_style);
$sheet->getStyle('B6:D6')->applyFromArray($cell_style);
$sheet->getStyle('E4:E5')->applyFromArray($cell_style);
$sheet->getStyle('F4:G5')->applyFromArray($cell_style);
$sheet->getStyle('H4:H5')->applyFromArray($cell_style);
$sheet->getStyle('I4:M5')->applyFromArray($cell_style);
$sheet->getStyle('E6:M6')->applyFromArray($cell_style);
$sheet->getStyle('E6:F6')->applyFromArray($cell_style);$sheet->getColumnDimension('A')->setWidth(12);
$sheet->getColumnDimension('B')->setWidth(7);
$sheet->getColumnDimension('I')->setWidth(7);
$sheet->getColumnDimension('E')->setWidth(10);
$sheet->getColumnDimension('F')->setWidth(10);
$sheet->getColumnDimension('K')->setWidth(10);
$sheet->getColumnDimension('L')->setWidth(10);
$sheet->getColumnDimension('M')->setWidth(12);
$sheet->mergeCells('E1:H2');
$sheet->setCellValue('E1', '技術者経歴書');
//include("../excel/sql.php");
$sheet->setCellValue('A4', 'フリガナ');
$sheet->setCellValue('A5', '氏名');
$sheet->mergeCells('B4:D4');
$sheet->setCellValue('B4', $_SESSION["furigana"]);
$sheet->mergeCells('B5:D5');
$sheet->setCellValue('B5', $_SESSION["ryakumei"]." ".$_SESSION["namae"]);
$sheet->mergeCells('E4:E5');
$sheet->setCellValue('E4', '生年月日');
$sheet->mergeCells('F4:G5');
$sheet->setCellValue('F4', $_SESSION["birthday"]);
$sheet->mergeCells('H4:H5');
$sheet->setCellValue('H4', '現住所');
$sheet->mergeCells('I4:M5');
$sheet->setCellValue('I4', $_SESSION["address"]);
$sheet->setCellValue('A6', '最終学歴');
$sheet->mergeCells('B6:D6');
$sheet->setCellValue('B6', $_SESSION["gakureki"]);
$sheet->mergeCells('E6:F6');
$sheet->setCellValue('E6', '各種専門学校');
$sheet->mergeCells('G6:M6');
$sheet->setCellValue('G6', $_SESSION["school"]);//資格範囲
if($_SESSION["rows_sikaku"]<=0){
$sikaku_height = 1;
}else{
$sikaku_height = ceil($_SESSION["rows_sikaku"]/2);
}$sikaku_floor =10;
$sikaku_ceil = $sikaku_floor + $sikaku_height - 1;$sheet->mergeCells("A".$sikaku_floor.":A".$sikaku_ceil."");$sheet->setCellValue("A".$sikaku_floor."",'資格・技能');
$sheet->getStyle("A".$sikaku_floor.":M".$sikaku_ceil."")->applyFromArray($cell_style);
$sheet->getStyle("A".$sikaku_floor.":A".$sikaku_ceil."")->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
//資格内容$count_sikaku = 0;
for($i = 0;$i < $_SESSION["rows_sikaku"];$i++){
if($i % 2 == 0){
$count_sikaku = 0;
}
$height = floor($i / 2);
$sheet->mergeCells("".$word[$count_sikaku * 6+1].($sikaku_floor  + $height ).":"
.$word[($count_sikaku+1) * 6].($sikaku_floor  + $height )."");
$objPHPExcel->getActiveSheet()->getStyle("".$word[$count_sikaku * 6+1].($sikaku_floor  + $height )."")
->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
$objPHPExcel->getActiveSheet()->getStyle("".$word[$count_sikaku * 6+1].($sikaku_floor  + $height )."")
->getFont()->setSize(10);
$sheet->setCellValue("".$word[$count_sikaku * 6+1].($sikaku_floor  + $height )."","●".$_SESSION["array_sikaku"][$i]);

$count_sikaku++;
}
//経歴
$sheet->setCellValue("A".($language_db_ceil + 3)."","期間");
$sheet->setCellValue("B".($language_db_ceil + 3)."",'業種');
$sheet->mergeCells("C".($language_db_ceil + 3).":E".($language_db_ceil + 3)."");
$sheet->setCellValue("C".($language_db_ceil + 3)."","業務内容");
$sheet->setCellValue("F".($language_db_ceil + 3)."","分野");
$sheet->setCellValue("G".($language_db_ceil + 3)."","工程");
$sheet->setCellValue("H".($language_db_ceil + 3)."","職種");
$sheet->setCellValue("I".($language_db_ceil + 3)."","機種");
$sheet->setCellValue("J".($language_db_ceil + 3)."","OS");
$sheet->setCellValue("K".($language_db_ceil + 3)."","DB");
$sheet->setCellValue("L".($language_db_ceil + 3)."","言語");
$sheet->setCellValue("M".($language_db_ceil + 3)."","その他");$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
//$encode mb_detect_encoding($filename,"SJIS"); 
$filename = iconv("UTF-8","SJIS//IGNORE",$filename);
$objWriter->save("resume.xlsx");header("Pragma:public");
header("Expires:0");
header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");
header('Content-Disposition:attachment;filename="resume.xlsx"');
header("Content-Type:text/csv;charset=Shift_JIS");
header("Content-Transfer-Encoding:binary");$objWriter->save('php://output');?>