乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>excel</em>可以把工作表转换成<em>web</em>页

<em>excel</em>可以把工作表转换成<em>web</em>页

作者:乔山办公网日期:

返回目录:excel表格制作


数据库中的表:
和javaBean中对应
javaBean:
public class mainpart {
private int id;
private String name;//名称
private String spid;
private String specification;//规格
private String suppid;
private String suppname;//供应商名称
private String authenticatedMarks;//认证标志
private String standard;//标准
private String parameter;//参数
private Integer modelId;

public Integer getModelId() {
return modelId;
}
public void setModelId(Integer modelId) {
this.modelId = modelId;
}
public String getAuthenticatedMarks() {
return authenticatedMarks;
}
public void setAuthenticatedMarks(String authenticatedMarks) {
this.authenticatedMarks = authenticatedMarks;
}
public String getStandard() {
return standard;
}
public void setStandard(String standard) {
this.standard = standard;
}
public String getParameter() {
return parameter;
}
public void setParameter(String parameter) {
this.parameter = parameter;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSpid() {
return spid;
}
public void setSpid(String spid) {
this.spid = spid;
}
public String getSpecification() {
return specification;
}
public void setSpecification(String specification) {
this.specification = specification;
}
public String getSuppid() {
return suppid;
}
public void setSuppid(String suppid) {
this.suppid = suppid;
}
public String getSuppname() {
return suppname;
}
public void setSuppname(String suppname) {
this.suppname = suppname;
}

}

上传调用:思想是读取excel中的每一行数据,从第1行起(第0列为表头),每列的数据转换为string类型的,在通过sql语句
依次插入数据库(插入,更新的两个函数就不再贴出了)
�1�3�1�3public class MainPartimportBean {
private static Logger log = Logger.getLogger(SampleBean.class);
public void insertDB(InputStream fp,String modelId) {
try {
e799bee5baa6e4b893e5b19e363HSSFWorkbook workbook = new HSSFWorkbook(fp);// 创建工作薄
HSSFSheet sheet = workbook.getSheetAt(0);// 得到工作表
HSSFRow row = null;// 对应excel的行
HSSFCell cell = null;// 对应excel的列
String Var="";
row = sheet.getRow((short)0);

int totalRow = sheet.getLastRowNum();// 得到excel的总记录条数
int modelId2 = Integer.valueOf(modelId);
String name = "";//名称
String specification = "";//规格
String suppname = "";//供应商名称
String parameter = "";//参数
String standard = "";//标准
String authenticatedMarks = "";//认证标志

for (short i = 1; i <=totalRow; i++) {
mainBean mb = new mainBean();
mainpart mp1 = new mainpart();
row = sheet.getRow(i);
cell = row.getCell((short)0);
if(cell!=null)
name = cell.getRichStringCellValue().toString();
mp1.setName(name);

cell = row.getCell((short)1);
if(cell!=null)
specification =cell.getRichStringCellValue().toString();
mp1.setSpecification(specification);

cell = row.getCell((short)2);
if(cell!=null)
suppname = cell.getRichStringCellValue().toString();
mp1.setSuppname(suppname);

cell = row.getCell((short)3);
if(cell!=null)
parameter = cell.getRichStringCellValue().toString();
mp1.setParameter(parameter);

cell = row.getCell((short)4);
if(cell!=null)
standard = cell.getRichStringCellValue().toString();
mp1.setStandard(standard);

cell = row.getCell((short)5);
if(cell!=null)
authenticatedMarks = cell.getRichStringCellValue().toString();
mp1.setAuthenticatedMarks(authenticatedMarks);
mp1.setModelId(modelId2);
if(mb.isEmptymainpart(authenticatedMarks))
mb.updataMainBymainpart(mp1);//防止数据重复
else
mb.newMainUpdata(mp1);//插入数据
}

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

具体实现方式如下:
  7a64e58685e5aeb93331. 要正确的将Web客户端的Excel文件导入到服务器的数据库中,需要将客户端的Excel文件上传到服务器上。可以使用FileUpload控件完成。
  2. Excel文件上传到服务器指定的目录中,这里假设是该站点的upfiles目录中。
  3. 使用SQL语句从upfiles目录中的上传Excel文件中读取数据显示或写入数据库。
  相关代码如下:
  1. 前台文件:
  <%@ Page Language="C#" AutoEventWireup="true" CodeFile="StudentInforInport.aspx.cs" Inherits="StudentInforInport" %>
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:///TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http:///1999/xhtml" >
  <head runat="server">
  <link rel="stylesheet" type="text/css" href="css/style.css"/>
  <title>从Excel表中导入学生数据</title>
  </head>
  <body>
  <form id="form1" runat="server">
  <div>
  <table style="width: 96%; border-collapse: separate; text-align: center">
  <tr>
  <td colspan="3">
  从Excel中导入</td>
  </tr>
  <tr>
  <td colspan="3" style="text-align: left; height: 9px;">
  </td>
  </tr>
  <tr>
  <td align="center" style="width: 20%;">
  请选择Excel文件路径</td>
  <td align="center" style="width: 483px; height: 18px; text-align: left">
  <asp:FileUpload ID="FileUpload1" runat="server" Width="555px" /></td>
  <td align="center" style="width: 10%">
  <asp:Button ID="Btn_Inport" runat="server" Text="导 入" OnClick="Btn_Inport_Click" /></td>
  </tr>
  <tr>
  <td align="center">
  请选择表名</td>
  <td align="center" style="width: 483px; height: 18px; text-align: left">
  <asp:DropDownList ID="DDList_Sheet" runat="server"></asp:DropDownList></td>
  <td align="center">
  </td>
  </tr>
  <tr>
  <td colspan="3">
  <asp:GridView ID="GV_Excel" runat="server" Height="133px" Width="100%">
  </asp:GridView>
  </td>
  </tr>
  <tr>
  <td style="height: 18px">
  </td>
  <td style="width: 483px; height: 18px;">
  </td>
  <td style="width: 243px; height: 18px;">
  </td>
  </tr>
  </table>
  </div>
  </form>
  </body>
  </html>
  2. 后台代码:
  using System;
  using System.Data;
  using System.Configuration;
  using System.Collections;
  using System.Web;
  using System.Web.Security;
  using System.Web.UI;
  using System.Web.UI.WebControls;
  using System.Web.UI.WebControls.WebParts;
  using System.Web.UI.HtmlControls;
  using System.Data.OleDb;
  using System.Data.SqlClient;
  public partial class StudentInforInport : System.Web.UI.Page
  {
  string strConn = System.Configuration.ConfigurationManager.AppSettings["strconn"].ToString().Trim(); //链接SQL数据库
  protected void Page_Load(object sender, EventArgs e)
  {
  }
  /// <summary>
  /// 查询EXCEL电子表格添加到DATASET
  /// </summary>
  /// <param name="filenameurl">服务器路径</param>
  /// <param name="table">表名</param>
  /// <param name="SheetName">Sheet表名</param>
  /// <returns>读取的DataSet </returns>
  public DataSet ExecleDs(string filenameurl, string table, string SheetName)
  {
  string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + filenameurl + ";Extended Properties='Excel 8.0'";
  OleDbConnection conn = new OleDbConnection(strConn);
  conn.Open();
  DataSet ds = new DataSet();
  OleDbDataAdapter odda = new OleDbDataAdapter("select * from [" + SheetName + "]", conn);
  odda.Fill(ds, table);
  return ds;
  }
  protected void Btn_Inport_Click(object sender, EventArgs e)
  {
  if (FileUpload1.HasFile == false) //HasFile用来检查FileUpload是否有指定文件
  {
  Response.Write("<script>alert('请您选择Excel文件')</script> ");
  return; //当无文件时,返回
  }
  string IsXls = System.IO.Path.GetExtension(FileUpload1.FileName).ToString().ToLower();//System.IO.Path.GetExtension获得文件的扩展名
  if (IsXls != ".xls")
  {
  Response.Write("<script>alert('只可以选择Excel文件')</script>");
  return; //当选择的不是Excel文件时,返回
  }
  string filename = DateTime.Now.ToString("yyyyMMddHHmmss") + FileUpload1.FileName; // 获取Execle文件名 DateTime日期函数
  string savePath = Server.MapPath(("~\\upfiles\\") + filename); //Server.MapPath 获得虚拟服务器相对路径
  FileUpload1.SaveAs(savePath); //SaveAs 将上传的文件内容保存在服务器上
  OperExcel Excel = new OperExcel();
  ArrayList AL_ExcelSheet = new ArrayList();
  AL_ExcelSheet = Excel.ExcelSheetName(savePath);
  DDList_Sheet.Items.Clear();
  for (int i = 0; i < AL_ExcelSheet.Count; i++)
  {
  DDList_Sheet.Items.Add( AL_ExcelSheet[i].ToString() );
  }
  SqlConnection cn = new SqlConnection(strConn);
  cn.Open();
  DataSet ds = ExecleDs(savePath, filename, DDList_Sheet.Items[0].ToString()); //调用自定义方法得到数据
  DataTable dt = ds.Tables[0];
  if (dt.Rows.Count == 0)
  {
  Response.Write("<script>alert('Excel表为空表,无数据!')</script>"); //当Excel表为空时,对用户进行提示
  }
  else
  {
  // 数据
  GV_Excel.DataSource = dt;
  GV_Excel.DataBind();
  Response.Write("<script>alert('Excle表导入成功!');location='default.aspx'</script>");
  }
  cn.Close();
  }
  }
  注意:当导入的Excel文件中的内容很大时,将发生莫名的错误。因此导入的文件不能太大,一般少于5MB.
首先我们需要在mysql管理工具上面新建一个表,也可以用mysql命令创建,表建立完成之后,你需要将表中的字段名字告诉给填写excel表的人员.

打开excel表,按照程序提供的字段填写相应的数据.此时注意下面几点:名字(我用红色标示出来了)需要跟程序提供的一样,其他的描述,表头可以不写都行.

我使用7a686964616fe4b893e5b19e339的mysql管理工具是Navicat for MySQL,打开工具,选择表所在的数据库,然后点击数据库名字,右键数据,出来下拉菜单选择import wizard ,有汉化版本的更明确.弹出一个选择界面,我们选择excel file文件

点击next(下一步),我们选择我们对应的excel文件就行,然后再下面选在我们的文件内容在哪一个sheet中,也就是你的内容写在excel什么地方,这点需要注意,也是关键的地方,我的内容在sheet3中,所以我选择sheet3 ,如图:

点击next (此步骤也是关键步骤),需要注意2点: 1:filed name row 就是你的字段所在excel中的位置,也就是第几行(简单办法,一般就是英文对应的那一列).2:first data row(从哪一行开始执行),数据从哪一行开始呢,我这里选择的是3,4.

点击next 我们选择 target table 目标对应的数据库,选择你要导入到哪个数据库中表中.

如果到上面一步没有问题的话,我们默认next到最后 就行了.然后打开表就能看到数据跟excel表中的一样.

虽然不是秒变,但是魔方网表确实可以在很短的时间将Excel转化为Web数据库。
开发效率是zhidao传统开发的10到20倍,因此每日就可以使用零散的时间去搭建一个系统,一个人甚至可以同时维护多个系统,让运营的管理者也能掌握,文科妹子也能碾压程序员。这就是魔方网表,学起来很简单,用起来很强大,使用它可以将Excel变成Web数据库应用。

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网