php导出合同模板到excel
/**
* [export_excel 合同导出]
* [@param itemid:单号]
* @return [type]
*/
public function export_excel() {
//接受数据
$itemid = I('itemid');
$public_m = D('Public');
if ($itemid == '') {
return ;
}
$order_trade_system_m = M('order_trade_system');
$list = $order_trade_system_m->where('tid="' . $itemid . '"')->find(); switch ($list['pay_type']) {
case 'cash':
$list['pay_type'] = '现金支付';
break;
case 'transfers':
$list['pay_type'] = '对公转账';
break;
case 'alipay':
$list['pay_type'] = '支付宝';
break;
default:
break;
}
//获取地址信息
$address_info = D('customer')->address_info($list['address_id']);
$address_info = $address_info['list'];
$receiver_state = $public_m->Get_areaname($address_info['receiver_state']);
$receiver_city = $public_m->Get_areaname($address_info['receiver_city']);
$receiver_district = $public_m->Get_areaname($address_info['receiver_district']);
$address = $receiver_state . $receiver_city . $receiver_district . $address_info['receiver_address'];
//查找供应商名称
$order_customer_m = M('order_customer');
$customer_info = $order_customer_m->where('customer_id="' . $list['customer_id'] . '"')->field('company_name,company_address')->find();
$company_name = $customer_info['company_name'];
$Column_num = ; //列数
$Line_num = ; //行数
$ColumnWidth = array('', '', '', '', '', '', ''); //列宽度
$LineHeight = array('', '', '', '', '', '', ''); //行高度
//设置合并单元格数组
$mergeCells = array('A1:F1', 'A3:C3', 'E3:G3', 'A4:C4', 'E4:G4', 'A7:G7');
$contract_number = $list['contract_number'];
if (empty($contract_number)) {
$contract_number = $public_m->get_contract_number_no();
$list = $order_trade_system_m->where('tid="' . $itemid . '"')->data('contract_number=' . $contract_number . '')->save(); //更新订单数据
} //单元格值
$cell_arr = array(
'A1' => '产品购销合同',
'A3' => '甲方:**科技(上海)有限公司',
'E3' => '合同编号:' . $contract_number,
'A4' => '乙方:' . $company_name,
'E4' => '签定地点:**',
'A6' => '根据《中华人民共和国合同法》的有关规定,甲乙双方经友好协商一致,签订合同。',
'A7' => '一、 产品名称、型号、数量、金额',
'A8' => '序号',
'B8' => '产品名称',
'C8' => '规格型号',
'D8' => '单位',
'E8' => '数量',
'F8' => '单价(元)',
'G8' => '金额(元)',
);
//设置字体样式
$font_arr = array(
'A1' => array('name' => '宋体', 'size' => , 'bold' => true),
'A7' => array('name' => '宋体', 'size' => , 'bold' => true),
'A8' => array('name' => '宋体', 'size' => , 'bold' => true),
'B8' => array('name' => '宋体', 'size' => , 'bold' => true),
'C8' => array('name' => '宋体', 'size' => , 'bold' => true),
'D8' => array('name' => '宋体', 'size' => , 'bold' => true),
'E8' => array('name' => '宋体', 'size' => , 'bold' => true),
'F8' => array('name' => '宋体', 'size' => , 'bold' => true),
'G8' => array('name' => '宋体', 'size' => , 'bold' => true),
);
//对齐方式
$align_arr = array(
//水平对齐
'h' => array(
'left' => array('A2', 'A3', 'A4'),
'center' => array('A1', 'A5', 'B5', 'B8', 'A8', 'C8', 'D8', 'E8', 'F8', 'G8', 'E4'),
'right' => array('B2', 'E3')
),
//垂直对齐
'v' => array(
'center' => array('A1', 'A2', 'A3', 'A4', 'A8', 'A5', 'B5', 'E3', 'E4', 'A6', 'A8', 'B8', 'C8', 'D4', 'E6', 'F8', 'A7', 'D8', 'E8', 'F8', 'G8'
),
),
);
//设置四边边框
$all_border = array(
'A8', 'B8', 'C8', 'D8', 'E8', 'F8', 'G8'
);
//查看商品详细
$order_sku = M('order_sku');
$data = $order_sku->where('tid="' . $itemid . '"')->select(); foreach ($data as $key => $v) {
$goods[$key]['title'] = $public_m->get_name($v['sku_id'], 'title');
$goods[$key]['number'] = $v['number'];
$goods[$key]['price'] = $v['price'];
$goods[$key]['properties'] = $public_m->get_sku_properties($v['sku_id'], 'sku_id');
$goods[$key]['unit_name'] = $public_m->get_sku_unit($v['sku_id']);
}
//设置循环单元格值
$while_arr = array(
'field' => array('A', 'B', 'C', 'D', 'E', 'F', 'G'),
'start' => ,
'border' => true,
'format' => array('A' => '', 'B' => '@', 'C' => '@', 'D' => '#,##0.00', 'E' => '', 'F' => '#,##0.00', 'G' => '#,##0.00'),
//水平对齐
'align' => array(
'h' => array(
'left' => array('B'), //左对齐
'center' => array('A', 'C', 'D', 'E', 'F', 'G'), //居中对齐
//'right'=>array()//右对齐
),
//垂直对齐
'v' => array(
'center' => array('A', 'B', 'C', 'D', 'E', 'F', 'G'), //水平垂直
),
),
);
foreach ($goods as $row) {
$title = $row['title'];
$number = $row['number'];
$properties = $row['properties'];
$new_price = $number * $row['price'];
$allmoney+=$new_price;
$price = number_format($row['price'], );
$n = $i + ;
$LineHeight[] = ;
$while_arr['list'][] = array($i + , $title, $properties, $row['unit_name'], $number, $price, $new_price); //循环表格数值
$i++;
}
$title = '产品购销合同';
$path = './Public/Data/Order/';
if (!is_dir($path))
mkdir($path, );
$file_name = './Public/Data/Order/' . $contract_number . '.xls';
$all_moeny_capital = $this->cny($allmoney);
$allmoney_str = strstr($allmoney, '.');
if (empty($allmoney_str)) {
$all_moeny_capital = $all_moeny_capital . '整';
}
$allmoney = number_format($allmoney, ); //设置循环尾
$bank_name = C('bank_name');
$account_number = C('account_number');
$last_arr = array(
'jia' => array(''),
'field' => array(
array('A', 'D', 'G'),
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//25----
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A'),//
array('A', 'C'),//
array('A', 'C'),//
array('A', 'C'),//
array('A', 'C'),//
array('A', 'C'),//
array('A', 'C'),//
),
'value' => array(
array('金额合计:' . $all_moeny_capital, '', '¥' . $allmoney),
array(''),
array('二、质量要求、技术标准、供方对质量负责的条件和期限'),
array('按产品规范及有关的国家标准执行,甲方对所供产品在三十日内如出现质量问题,负责退换,质保期半年。'),
array(''),
array('三、交(退)货地点、方式'),
array('由甲方负责将乙方所购产品交付到乙方指定的地点'),
array('乙方指定的送货地址为:' . $address),
array(''),
array('四、运输方式及到达港和费用负担'),
array('甲方负责运输并办理货物运输保险,运输费用及保险费由甲方负担。'),
array(''),
array('五、包装标准、包装物的供应和回收'),
array('包装标准按产品要求和国家标准执行,费用由甲方负担。'),
array(''),
array('六、验收标准、方法、及提出异议期限'), //25---
array('在乙方指定的地点,按产品规范及有关的国家标准验收。'),
array(''),
array('七、 交货期限'),
array('合同签订之日起 3 天内送货至乙方指定的地点。'),
array(''),
array('八、结算方式及期限'),
array('结算方式:' . $list['pay_type']),
array('付款期限:乙方收到货物之日起 2 日内付款至甲方指定账户 '),
array('甲方指定的银行账户如下'),
array('开户行:' . $bank_name),
array('户名:***科技(上海)有限公司'),
array('账号:' . $account_number),
array('九、解决合同纠纷的方式'),
array('执行本合同发生争议,由甲乙双方协商解决,如协商不成可提请仲裁委员会仲裁。'),
array(''),
array('十、其他约定事项'),
array('甲乙双方盖章后生效。如有未尽事宜,甲乙双方协商解决。'),
array(''),
array('十一、 文本'),
array('本合同一式二份,甲乙双方各执一份。'),
array(''),
array('甲方', '乙方'),
array('单位名称:***科技(上海)有限公司', '单位名称:' . $company_name),
array('地址:********', '地址:' . $customer_info['company_address']),
array('法定代表人(盖章):', '法定代表人(盖章):'),
array('时 间: 年 月 日', '时 间: 年 月 日'),
array('电 话:021-60486481', '电 话:'),
),
'cell' => array(
array('A', 'C'),//
array('D', 'F'),//
array('G', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('G', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'G'),//
array('A', 'B'),//
array('C', 'G'),//
array('A', 'B'),//
array('C', 'G'),//
array('A', 'B'),//
array('C', 'G'),//
array('A', 'B'),//
array('C', 'G'),//
array('A', 'B'),//
array('C', 'G'),//
array('A', 'B'),//
array('C', 'G'),//
),
'align' => array(
array('h' => 'center', 'v' => 'center'), array(''), array('h' => 'right', 'v' => 'center'), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array('h' => 'center', 'v' => 'center'), array('h' => 'center', 'v' => 'center'),
),
'height' => array(''),
'bold' => array('true', 'false', 'true', 'false', 'false', 'true', 'false', 'false', 'false', 'true', 'false', 'false', 'true', 'false', 'false', 'true', 'false', 'true', 'true', 'false', 'false', 'true', 'false', 'false', 'false', 'false', 'false', 'false', 'true', 'false', 'false', 'true', 'false', 'false', 'true'),
'borders' => array(
array('left' => 'true', 'right' => 'true', 'top' => 'true', 'bottom' => 'true'), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''),
array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array(''), array('left' => 'false', 'right' => 'true', 'top' => 'true', 'bottom' => 'false'), array('left' => 'false', 'right' => 'true', 'top' => 'false', 'bottom' => 'false'), array('left' => 'false', 'right' => 'true', 'top' => 'false', 'bottom' => 'false'), array('left' => 'false', 'right' => 'true', 'top' => 'false', 'bottom' => 'false'), array('left' => 'false', 'right' => 'true', 'top' => 'false', 'bottom' => 'false'), array('left' => 'false', 'right' => 'true', 'top' => 'false', 'bottom' => 'true'), array('left' => 'false', 'right' => 'true', 'top' => 'false', 'bottom' => 'true'),
),
);
$res = $public_m->excels($title, $Column_num, $Line_num, $ColumnWidth, $LineHeight, $mergeCells, $cell_arr, $while_arr, $last_arr, $align_arr, $all_border, $font_arr, $file_name, $width_unit);
if ($res == 'OK') {
D('public')->WriteLog(session('user.personnel_code'), '导出合同', $itemid, 'trade');
$data = array('url' => $file_name);
return $data;
}
}
function cny($ns) {
static $cnums = array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"),
$cnyunits = array("圆", "角", "分"),
$grees = array("拾", "佰", "仟", "万", "拾", "佰", "仟", "亿");
list($ns1, $ns2) = explode(".", $ns, );
$ns2 = array_filter(array($ns2[], $ns2[]));
$ret = array_merge($ns2, array(implode("", $this->_cny_map_unit(str_split($ns1), $grees)), ""));
$ret = implode("", array_reverse($this->_cny_map_unit($ret, $cnyunits)));
return str_replace(array_keys($cnums), $cnums, $ret);
} function _cny_map_unit($list, $units) {
$ul = count($units);
$xs = array();
foreach (array_reverse($list) as $x) {
$l = count($xs);
if ($x != "" || !($l % ))
$n = ($x == '' ? '' : $x) . ($units[($l - ) % $ul]);
else
$n = is_numeric($xs[][]) ? $x : '';
array_unshift($xs, $n);
}
return $xs;
}
Application\Oa\Model\PublicModel.class.php
/**
* @desc 自动生成表格
* @param string $title 标题
* @param int $Column_num 列数
* @param int $Line_num 行数
* @param array $ColumnWidth 列宽
* @param array $LineHeight 行高
* @param array $mergeCells 合并单元格数组
* @param array $cell_arr 单元格值
* @param array $while_arr 循环单元格值
* @param array $last_arr 循环尾
* @param array $align_arr 对齐方式
* @param array $all_border 四边边框
* @param array $font_arr 字体样式
* @param string $file_name 文件名
*/
function excels($title, $Column_num, $Line_num, $ColumnWidth, $LineHeight, $mergeCells, $cell_arr, $while_arr, $last_arr, $align_arr, $all_border, $font_arr, $file_name) {
$ColumnName = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ'); Vendor('Excel.PHPExcel'); // 创建一个处理对象实例
$objExcel = new \PHPExcel(); // 创建文件格式写入对象实例, uncomment
$objWriter = new \PHPExcel_Writer_Excel5($objExcel); //设置文档基本属性
$objProps = $objExcel->getProperties();
$objProps->setCreator("toby");
$objProps->setLastModifiedBy("toby");
$objProps->setTitle($title);
$objProps->setSubject($title);
$objProps->setDescription($title);
$objProps->setKeywords($title);
$objProps->setCategory($title); //缺省情况下,PHPExcel会自动创建第一个sheet被设置SheetIndex=0
$objExcel->setActiveSheetIndex();
$objActSheet = $objExcel->getActiveSheet(); //设置当前活动sheet的名称
$objActSheet->setTitle($title); //设置合并单元格
foreach ($mergeCells as $v) {
$objActSheet->mergeCells($v);
} //设置列宽,
for ($i = ; $i < $Column_num; $i++) {
$objActSheet->getColumnDimension($ColumnName[$i])->setWidth($ColumnWidth[$i]);
} //设置行高度
for ($i = ; $i < $Line_num; $i++) {
$objActSheet->getRowDimension($i + )->setRowHeight($LineHeight[$i]);
} //设置单元格值
foreach ($cell_arr as $k => $v) {
$objActSheet->setCellValue($k, $v);
} //设置循环单元格值
$i = $while_arr['start']; foreach ($while_arr['list'] as $vh) {
$field = $while_arr['field'];
$bord = $while_arr['border'];
$h = $while_arr['align']['h'];
$v = $while_arr['align']['v'];
$format = $while_arr['format'];
//print_r($h);exit;
foreach ($vh as $k => $vs) { //设置单元格格式
$format_k = $format[$field[$k]];
if (!empty($format_k)) {
$objActSheet->getStyle($field[$k] . $i)->getNumberFormat()->setFormatCode($format_k);
}
//设置单元格值
$objActSheet->setCellValue($field[$k] . $i, $vs); //设置四边边框
if ($bord) {
$all_border[] = $ColumnName[$k] . $i;
}
$num = count($align_arr['h']['center']);
//设置水平对齐
$align_arr['h']['center'][$num] = $h['center'][$k] . $i;
//$align_arr['h'][]=array($h[$k]=>$field[$k].$i);
//设置垂直对齐
$num_t = count($align_arr['v']['center']);
$align_arr['v']['center'][$num_t] = $v['center'][$k] . $i;
} $i++;
}
//设置循环尾
$column_s = ;
if (!empty($last_arr['value'])) {
foreach ($last_arr['value'] as $k => $vh) {
$i = $i + $last_arr['jia'][$k];
$field = $last_arr['field'];
$bord = $last_arr['border'];
$align = $last_arr['align'];
$cell = $last_arr['cell'];
$height = $last_arr['height']; $objActSheet->getRowDimension($i)->setRowHeight($height[$k]);
//每列内容
foreach ($vh as $ks => $vs) {
$objActSheet->mergeCells($cell[$column_s][] . $i . ':' . $cell[$column_s][] . $i); //额外
$tmp_st = false;
$tmp = $last_arr['bold'][$k];
$t[] = $tmp;
if ($tmp == 'true') {
$tmp_st = true;
}
//加粗
$objStyleA2 = $objActSheet->getStyle($cell[$column_s][] . $i . ':' . $cell[$column_s][] . $i);
$objFontA2 = $objStyleA2->getFont();
$objFontA2->setBold($tmp_st); //设置四边边框
$m = $last_arr['borders'][$k];
$left = $m['left'];
$right = $m['right'];
$top = $m['top'];
$bottom = $m['bottom'];
if ($left == 'true') {
$objActSheet->getStyle($cell[$column_s][] . $i . ':' . $cell[$column_s][] . $i)->getBorders()->getLeft()->setBorderStyle(\PHPExcel_Style_Border::BORDER_THIN);
}
if ($right == 'true') {
$objActSheet->getStyle($cell[$column_s][] . $i . ':' . $cell[$column_s][] . $i)->getBorders()->getRight()->setBorderStyle(\PHPExcel_Style_Border::BORDER_THIN);
}
if ($top == 'true') {
$objActSheet->getStyle($cell[$column_s][] . $i . ':' . $cell[$column_s][] . $i)->getBorders()->getTop()->setBorderStyle(\PHPExcel_Style_Border::BORDER_THIN);
}
if ($bottom == 'true') {
$objActSheet->getStyle($cell[$column_s][] . $i . ':' . $cell[$column_s][] . $i)->getBorders()->getBottom()->setBorderStyle(\PHPExcel_Style_Border::BORDER_THIN);
} //额外***end
//设置单元格值
$objActSheet->setCellValue($field[$k][$ks] . $i, $vs);
//设置四边边框
if ($bord) {
foreach ($ColumnName as $vv) {
if ($vv == $cell[$column_s][]) {
$j = ;
} elseif ($j <> ) {
continue;
}
$all_border[] = $vv . $i; if ($vv == $cell[$column_s][]) {
break;
}
}
} //设置水平对齐
$align_arr['h'][$align[$column_s]['h']][] = $field[$k][$ks] . $i; //设置垂直对齐
$align_arr['v'][$align[$column_s]['v']][] = $field[$k][$ks] . $i; $column_s++;
} $i++;
}
} //设置水平对齐
foreach ($align_arr['h'] as $k => $v) {
foreach ($v as $vs) {
if ($k == 'left') {
$objActSheet->getStyle($vs)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
}
if ($k == 'center') {
$objActSheet->getStyle($vs)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
}
if ($k == 'right') {
$objActSheet->getStyle($vs)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
}
}
} //设置垂直对齐
foreach ($align_arr['v'] as $k => $v) {
foreach ($v as $vs) {
if ($k == 'top') {
$objActSheet->getStyle($vs)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_TOP);
}
if ($k == 'center') {
$objActSheet->getStyle($vs)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
}
if ($k == 'bottom') {
$objActSheet->getStyle($vs)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_BOTTOM);
}
}
}
//设置字体样式
foreach ($font_arr as $k => $v) {
$objStyleA1 = $objActSheet->getStyle($k);
$objFontA1 = $objStyleA1->getFont();
$objFontA1->setName($v['name']);
$objFontA1->setSize($v['size']);
$objFontA1->setBold($v['bold']);
}//设置四边边框
foreach ($all_border as $v) { $objActSheet->getStyle($v)->getBorders()->getTop()->setBorderStyle(\PHPExcel_Style_Border::BORDER_THIN);
$objActSheet->getStyle($v)->getBorders()->getLeft()->setBorderStyle(\PHPExcel_Style_Border::BORDER_THIN);
$objActSheet->getStyle($v)->getBorders()->getRight()->setBorderStyle(\PHPExcel_Style_Border::BORDER_THIN);
$objActSheet->getStyle($v)->getBorders()->getBottom()->setBorderStyle(\PHPExcel_Style_Border::BORDER_THIN);
}
//输出内容
$objWriter->save($file_name); //print_r($last_arr['value']);print_r($t);print_r($last_arr['bold']);exit;
return "OK";
}
导出模板
php导出合同模板到excel的更多相关文章
- freemarker导出复杂样式的Excel
freemarker导出复杂样式的Excel 代码地址: gitee https://gitee.com/suveng/demo/tree/master/chapter.002 代码存放于demo下面 ...
- SpringBoot集成MongoDB之导入导出和模板下载
前言 自己很对自己在项目中集成MongoDb做的导入导出以及模板下载的方法总结如下,有不到之处敬请批评指正! 1.pom.xml依赖引入 <!-- excel导入导出 --> <de ...
- PHP导出MySQL数据到Excel文件
PHP导出MySQL数据到Excel文件 转载 常会碰到需要从数据库中导出数据到Excel文件,用一些开源的类库,比如PHPExcel,确实比较容易实现,但对大量数据的支持很不好,很容易到达PHP内存 ...
- Eclipse/MyEclipse导入导出注释模板
1.Eclipse/MyEclipse导入注释模板 (1)打开Eclipse/MyEclipse工具,打开或创建一个Java工程,点击菜单Window->Preferences弹出首选项设置窗口 ...
- vmwear导出OVF模板解析(解决ovf导入服务器失败问题,虚拟机版本等)
我们将vmwear虚拟机导出ovf模板后,有三个文件: 1,.mf 保存着.ovf和.vmdk两个文件的SHA1值,用于校验文件的完整性 2,.ovf 以XML格式保存着虚拟机的配置信息 3,.vmd ...
- 如何导出标准模板库(STL)类的实例化和包含STL类对象数据成员的类
本文翻译自 https://support.microsoft.com/zh-cn/help/168958/how-to-export-an-instantiation-of-a-standard-t ...
- 在ASP.NET中将GridView数据导出到Word、Excel
在ASP.NET中将GridView数据导出到Word.Excel asp.net,导出gridview数据到Word,Excel,PDF #region Export to Word, Exce ...
- java通过FreeMarker模板生成Excel文件之.ftl模板制作
关于怎么通过freemarker模板生成excel的文章很多,关键点在于怎么制作模板文件.ftl 网上的办法是: (1)把Excel模板的格式调好,另存为xml文件 (2)新建一个.ftl文件,把xm ...
- js导出table中的EXCEL总结
导出EXCEL通常是用PHP做,可是项目中,有时候PHP后端project师返回的数据不是我们想要的,作为前端开发project师,把相应的数据编号转换为文字后,展示给用户.可是.需求要把数据同一时候 ...
随机推荐
- 阿里云linux挂载磁盘
1)使用fdisk -l命令查看主机上的硬盘 2.使用mkfs.ext4命令把硬盘格式化: mkfs.ext4 磁盘名称 如:mkfs.ext4 /dev/vdb/ 3. 使用mount命令 ...
- Unity3D~纹理格式
因为之前自己从来没有好好看过这部分,一直都是用的DXT压缩图片,结果发现原来ios是不支持DXT的, 还不知道我项目那么卡是不是这部分引起的, 但愿是~这样应该就可以解决游戏在ios上只有6.8帧的问 ...
- openstack搭建之旅(原创)
1.什么是openstack是一个集中管理虚拟机的平台,整合了各种虚拟化的技术.虚拟机的具体创建交给具体的虚拟化技术实现,而Openstack是整合这些虚拟化技术,提供一个统一管理的视图,对虚拟机进行 ...
- jQuery常用操作(待续)
1. input清空内容 <1> $("#选择器id").val(""); <2> $("input[name='input框 ...
- Spring注解@Qualifier、@Autowired、@Primary
@Qualifier 1.当一个接口有多个实现类,且均已注入到Spring容器中了,使用@AutoWired是byType的,而这些实现类类型都相同,此时就需要使用@Qualifier明确指定使用那个 ...
- C/C++ - 多线程
前几天简单对C和C++中的创建多线程的函数进行了测试,这篇随笔就简单介绍一下创建线程的相关函数. C中三个创建线程函数:pthread_create()._beginthread().CreateTh ...
- GET和POST面试知识点
导读:大部分APP都依赖于网络通信,对于开发者来说,基于网络通信的开发无疑是必须掌握的.HTTP通信作为目前计算机主要的通信协议,是企业面试当中必问的.对于HTTP通信的概念,本文不作说明,我将在后续 ...
- Centos7 使用yum安装MariaDB与MariaDB的简单配置与使用
一.mariadb的安装 MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可. 开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜 ...
- Github 第三方授权登录教程
Github 第三方授权登录教程 ####大致流程图 ####1.首先注册一个github帐号,Applications>Developer applications>Register a ...
- 获取navigationController中的控制器
@implementation UIViewController (UIViewControllerExt) - (void)popViewController:(NSString *)control ...