精华内容
下载资源
问答
  • 微擎后台导入Excel保存到数据库微擎后台导入Excel 微擎后台导入Excel 微擎后台批量导入数据,按照一定格式做好的Excel表格数据导入到数据库。 public function doWebImport(){ global $_W, $_GPC; $op = $_GPC...

    微擎后台导入Excel保存到数据库

    微擎后台导入Excel

    微擎后台批量导入数据,按照一定格式做好的Excel表格数据导入到数据库。

    	public function doWebImport(){
    		global $_W, $_GPC;
    		$op = $_GPC['op'];
    		if ($op == 'import') {
    			$data = $_GPC['students'];
    			$file = $_FILES['students'];
    			// var_dump($file);
    			if (!$file['size']) {
    				message("文件上传不能为空!");
    			}
    			if ($file['name'] && $file['error'] == 0) {
    				$type = @end(explode('.', $file['name']));
    				$type = strtolower($type);
    				if (!in_array($type, array('xls','xlsx'))) {
    					message('文件格式不正确!','', 'error');
    				}
    				set_time_limit(0);
    				include IA_ROOT .'/framework/library/phpexcel/PHPExcel.php';
    				include IA_ROOT .'/framework/library/phpexcel/PHPExcel/IOFactory.php';
    				if ($type == 'xls') {
    					$inputFileType = 'Excel5';
    				}else{
    					$inputFileType = 'Excel2007';
    				}
    				$objReader = PHPExcel_IOFactory::createReader($inputFileType);
    				$objPHPExcel = $objReader->load($file['tmp_name']);
    				$sheet = $objPHPExcel->getSheet(0);
    				//获取行数与列数
    				$highestRow = $sheet->getHighestRow();
    				$highestColumn = $sheet->getHighestColumn();
    				$highestColumnNum = PHPExcel_Cell::columnIndexFromString($highestColumn);
    				$usefullColumnNum = $highestColumnNum;
    				for($row = 2; $row <= $highestRow;$row++){
    					$cardno = $sheet->getCellByColumnAndRow(0, $row)->getValue();
    					$name = $sheet->getCellByColumnAndRow(1, $row)->getValue();
    					$busid = $sheet->getCellByColumnAndRow(2, $row)->getValue();
    					$address = $sheet->getCellByColumnAndRow(3, $row)->getValue();
    					//插入字段
    					$data = array(
    						'cardno' => $cardno,
    						'name' => $name,
    						'busid' => $busid,
    						'address' => $address,
    						'createtime' => time(),
    						'status' => 1,
    					);
    					pdo_insert('student', $data);
    				}
    				message('导入成功');
    			}else{
    				message('导入失败');
    			}
    		}	
    		
    	}
    
    展开全文
  • C#NPOI 从Excel保存到数据库 首先需要引用程序集 或管理NuGet程序包 安装NPOI 需引用 复制代码 public ActionResult SqlBulkCopyByDatatable(string TableName) { using (FileStream fileReader = System.IO.File....

    C#NPOI 从Excel保存到数据库

    首先需要引用程序集

    或管理NuGet程序包 安装NPOI

    需引用

    复制代码
    public ActionResult SqlBulkCopyByDatatable(string TableName)
    {
    using (FileStream fileReader = System.IO.File.OpenRead(@“C: \Users\acer\Desktop\112.xlsx”))
    {
    //创建工作簿对象接收文件流(Excel信息)
    IWorkbook workbook = new XSSFWorkbook(fileReader);
    //IWorkbook workbook = new HSSFWorkbook(fileReader);
    //工作簿共有几个表
    //int count = workbook.NumberOfSheets;
    //创建工作表读取工作簿表信息
    //ISheet sheet= workbook.GetSheet(“表名称”);
    ISheet sheet = workbook.GetSheetAt(0);
    string sql = @" insert into student(xuehao,name,sex,xueyuan,stuclass,nums,states) values (@xuehao,@name,@sex,@xueyuan,@stuclass,@nums,@states)";
    int ii = 0;
    //r = 1,剔除表头一行
    for (int r = 1; r <= sheet.LastRowNum; r++)
    {
    //定义参数数组para
    SqlParameter[] para = new SqlParameter[] {
    new SqlParameter(“xuehao”,SqlDbType.NVarChar,100),
    new SqlParameter(“name”,SqlDbType.NVarChar,100),
    new SqlParameter(“sex”,SqlDbType.NVarChar,100),
    new SqlParameter(“xueyuan”,SqlDbType.NVarChar,100),
    new SqlParameter(“stuclass”,SqlDbType.NVarChar,100),
    new SqlParameter(“nums”,SqlDbType.NVarChar,100),
    new SqlParameter(“states”,SqlDbType.NVarChar,50)
    };
    //创建一行获取sheet行数据
    IRow row = sheet.GetRow®;
    //List listcell = new List();
    //int c = 1 即不读取自动编号的Id列
    for (int c = 0; c < row.LastCellNum; c++)
    {
    //将每行每个单元格的值添加带listcell集合中
    //listcell.Add(row.GetCell©);
    //将每行的每个单元格的数据添加到para中 c-1即从0 开始记录参数
    para[c].Value = row.GetCell©.ToString();
    }
    //循环赋值给para
    //for (int i = 0; i < listcell.Count; i++)
    //{
    // para[i].Value = listcell[i].ToString();
    //}
    //执行添加Sql语句
    ii = DBHelper.ExecuteNonQuery(sql, para);
    }
    if (ii > 0)
    {
    return Content(“”);
    }

            }
        }
    

    复制代码

    其中甚至不需要改变什么东西,如果本机的excel版本为2007之前的 需将

    改为

    其次为

    这里存放的是绝对路径

    再有就是根据自己的数据库表改变Insert语句

    这里我放的是DBHelper,可以根据自己需要使用帮助类或者写ADO.net或者使用自己的方法

    尤其需要注意这里,它决定行列从哪个开始

    至此 一个比较简单的Excel数据导入到数据库就搞定了

    展开全文
  • Excel保存到数据库时数据精度的处理

    千次阅读 2016-11-29 16:45:28
    润乾报表能够将Excel保存到数据库的相应接口,方便客户将Excel中的数据导入数据库。但是在实际应用中会遇到这样一个问题:对于Excel中数值型数据,如果对其设置了小数位数(如2位)时,导入数据库时精度会丢失。 ...
    

    问题描述

    润乾报表能够将Excel保存到数据库的相应接口,方便客户将Excel中的数据导入数据库。但是在实际应用中会遇到这样一个问题:对于Excel中数值型数据,如果对其设置了小数位数(如2位)时,导入数据库时精度会丢失。

    数据库中数据:

    显示数据:

    可以看到,小数点第二位的0都没有显示出来。

    问题分析

    使用ExcelImporter读入Excel并用getReport()方法得到其iRepor对象时,报表并未经过运算。而报表引擎只有经过运算后才能识别Excel中的数据格式并保留相应精度。所以必须使得读入Excel的报表进行相应的运算处理。

    解决方法

    下面是具体的实现源码:

    代码段一:

    public void saveFromExcel(String reportFile, String excelFile, int sheetNum)
    throws Exception {
    IReport report = calcReport(reportFile);
    ReportDefine2 excelReport = (ReportDefine2) excelToReport(excelFile,sheetNum);
    Engine engine = new Engine(excelReport, cxt);
    IReport iReport = engine.calc();
    System.out.println(”Excel中数据为:”);
    for(int i=1;i<=report.getRowCount();i++){
    for(int j=1;j<=report.getColCount();j++){
    INormalCell iCell=report.getCell(i, (short)j);
    INormalCell iExcelCell=iReport.getCell(i, (short)j);
    if(iCell.getInputProperty()!=null){
    if(iExcelCell.getDispValue()!=null){
    System.out.print(iExcelCell.getDispValue()+” “);
    iCell.getInputProperty().setInputValue(iExcelCell.getDispValue());
    }else{
    System.out.print(iExcelCell.getValue()+” “);
    iCell.getInputProperty().setInputValue(iExcelCell.getValue());
    }
    }else{
    InputProperty ip = new InputProperty();
    ip.setInputValue(iExcelCell.getValue());
    iCell.setInputProperty( ip );
    }
    }
    System.out.println();
    }
    DataSaver dsave = new DataSaver((ExtCellSet)report,null,cxt);
    dsave.save();
    }

    代码段二:

    private IReport excelToReport(String excelFile, int sheetNum)
    throws Exception {
    ExcelImporter ei = new ExcelImporter(excelFile);
    return ei.getReport(sheetNum);
    }

    请注意代码段一中的
    ————————————————-
    ReportDefine2 excelReport = (ReportDefine2) excelToReport(excelFile,sheetNum); //将读入的iReport对象强制转化成ReportDefine2对象
    Engine engine = new Engine(excelReport, cxt);
    IReport iReport = engine.calc(); //计算报表
    ————————————————-

    有的时候对Excel中文本类型的单元格使用getDispValue()得到的是null,所以有如下判断
    if(iExcelCell.getDispValue()!=null){ iCell.getInputProperty().setInputValue(iExcelCell.getDispValue());
    }else{ iCell.getInputProperty().setInputValue(iExcelCell.getValue());
    }

    运行该程序,结果如下图所示,数据精度完整显示。

    展开全文
  • 一、新建一个excel文件,作为数据源 二、根据 表格的列 建立数据库 三、导入依赖包 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <...

    一、新建一个excel文件,作为数据源

    二、根据 表格的列 建立数据库

    三、导入依赖包

     <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
                <version>3.16</version>
            </dependency>

    四|、自动生成实体类、mapper.xml等文件

    五、 Controller

    package com.oceam.controller;
    
    import java.io.File;
    import java.io.IOException;
    import java.util.*;
    
    import com.oceam.entity.Excel;
    import com.oceam.mapper.ExcelMapper;
    import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
    import org.apache.poi.ss.usermodel.*;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import javax.annotation.Resource;
    
    /**
     * Poi写Excel
     *
     * @author jianggujin
     */
    @RestController
    public class JxlReadDemo {
        @Resource
        private ExcelMapper excelMapper;
    
        @RequestMapping("/")
        public  void main() throws IOException,
                InvalidFormatException {
            File xlsFile = new File("C:\\Users\\cdn\\Desktop\\qq2.xls");
            // 获得工作簿
            Workbook workbook = WorkbookFactory.create(xlsFile);
            // 获得工作表个数
            int sheetCount = workbook.getNumberOfSheets();
            // 遍历工作表
            for (int i = 0; i < sheetCount; i++) {
                Sheet sheet = workbook.getSheetAt(i);
                // 获得行数
                int rows = sheet.getLastRowNum() + 1;
                // 获得列数,先获得一行,在得到改行列数
                Row tmp = sheet.getRow(0);
                if (tmp == null) {
                    continue;
                }
                int cols = tmp.getPhysicalNumberOfCells();
                // 读取数据
                List<String> list = new ArrayList<>();
                for (int row = 0; row < rows; row++) {
                    String a = "";
                    Row r = sheet.getRow(row);
                    for (int col = 0; col < cols; col++) {
    //                    把单元格内的数值类型设置为String
                        r.getCell(col).setCellType(Cell.CELL_TYPE_STRING);
    //                    System.out.printf("%10s", r.getCell(col).getStringCellValue());   //此处的"%10s"是保持原格式输出
                        a = a + r.getCell(col).getStringCellValue() + "-";
                    }
                    list.add(a);
    
                }
                System.out.println(list);
                for (int j = 1; j < list.size(); j++) {
                    String[] b = list.get(j).split("-");
                    Map<String, String> ma = new HashMap<>();
                    Excel excel = new Excel();
                    for (int h = 0; h < b.length; h++) {
                        switch (h) {
                            case 0:
                                excel.setXuhao(b[h]);
                                break;
                            case 1:
                                excel.setName(b[h]);
                                break;
                            case 2:
                                excel.setAuth(b[h]);
                                break;
                            case 3:
                                excel.setDes(b[h]);
                                break;
                            case 4:
                                excel.setSchool(b[h]);
                                break;
                            default:
                                break;
                        }
    
                    }
                   if (excelMapper.insertSelective(excel)==1){
                       System.out.println("插入成功");
                   }
                }
            }
        }
    }

    项目Demo:https://download.csdn.net/download/caidingnu/11026553

    展开全文
  • 运用JDBC,保存Excel数据到数据库中,本实例用的是sqlserver
  • 主要为大家详细介绍了Java用jxl读取excel保存到数据库的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • * 保存数据到数据库 * @param list */ private void saveDatoToDB(List<Student> list){ Connection conn = JDBCUtilSingle.getInstance().getConnection(); try { PreparedStatement st= conn....
  • NULL 博文链接:https://uule.iteye.com/blog/2396728
  • 记录一个写了一天半的问题,前段js创建一个iframe,由里面的额form来使用jsp上传Excel同时将Excel保存到数据库 下面贴出了整个jsp,有些类涉及到了项目所以删除了 <%@ page contentType="text/html;charset=UTF-8...
  • Asp.net上传Excel保存到数据库

    千次阅读 2011-03-16 09:17:00
    Asp.net上传Excel保存到数据库
  • Java导入excel保存到数据库

    千次阅读 2018-06-01 09:58:07
    首先建立好excel表格,并对应excel表格创建数据库表。前台jsp页面:其中包含js&lt;%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%&gt; &lt;% ...
  • 主要为大家详细介绍了ASP.NET保存PDF、Word和Excel文件到数据库的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  •  // 获取数据 保存数据库  System.out.println(data[0]);  } } public List[]> getExcelData(MultipartFile file) throws IOException{  checkFile(file); //获得Workbook工作薄对象 Workbook ...
  • 解决:从excel读取数据批量保存到数据库时出现NullPointerException
  • package com.jwy.excel; import java.io.FileInputStream; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFS...
  • Java读取本地excel保存到数据库

    千次阅读 2019-08-21 15:27:36
    //插入数据库 // mapper.insertChinaSurfStationData(list); } catch (Exception e) { e.printStackTrace(); } } /** * 读EXCEL文件,获取信息集合 * * @return */ public List, Object>> ...
  • 8_5Springboot+Mybatis导入Excel文件保存到数据库 引入POI依赖 <!--引入POI依赖--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifa...
  • [图片说明](https://img-ask.csdn.net/upload/201711/08/1510105595_689027.png)如何解析这样的excel,excle表头中有数据库表名 和 中文信息 然后有字段的信息,空行分开(可能多个) 再同样的格式,再有一个。 ...
  • java 导入 Excel表格并保存到数据库

    千次阅读 2019-02-27 17:32:18
    导入Excel表,并解析数据录入数据库Excel表一个sheet或者多个sheet均可使用 controller类的导入接口 /** * 解析Excel表数据并保存 * @param request * @param response * @throws Exception */ @...
  • 今天这篇文章向大家讲解如何将这些文件保存到数据库的。 详细步骤 第一步:打开数据库,单击新建查询,创建一个名称为Documents的表: 代码如下: create table Documents ( SNo int identity, Name_...
  • } } } 需要创建一个Listener,ExcelBarnettProductionDfitDataListener package net.tartan.dfit.excel.listener; import com.alibaba.excel.context.AnalysisContext; import ...
  • VB6操作Excel导入SQL2000数据库Excel必须保存成2003的格式
  • 使用POI读取EXCEL保存到数据库

    千次阅读 2016-12-15 15:02:34
    * 每个map中保存一行的内容 * */ public List<Map> getContent(){ List<Map> excelData = new ArrayList(); Map, String> map=null; //String[] title = this.readExcelTitle(); XSSFRow row; String...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,081
精华内容 832
关键字:

excel保存到数据库