Ⅰ 如何将excel中的数据自动导入web页面中
1. 要正确的将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://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/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.
Ⅱ java web 项目启动时加载数据库的数据到缓存中,如何实现
servlet有个init方法,在Servlet实例化之后自动执行,你可以在这个里面陆顷取数备备据仿悉毁。
init怎么写就问度娘吧,一搜索一大堆。
Ⅲ web程序中怎么实现每个时间段 数据库中自动插入一条记录大侠们,帮帮忙!
<?php
连接数据库
ignore_user_abort(true);
while(1){
$sql="插戚茄入语句";
mysql_query($sql);
sleep(一定时间);
}
就是高搜察看着想到的 php的 不知道好用不好用 可以测试下 这个文件只有管理员可以执行 这个文件会漏源一直执行 浏览器关了 他也会执行 除非服务器重启 需要人为打开一次页面触发执行 一般计划任务都用这个函数做
Ⅳ 请问ASP.NET WebForm如何实现定时自动提交表单并保存到数据库,然后刷新页面并加载数据
1、建立一个一般处理程序(.ashx后缀),这程序里面写获取From表单的数据和提交的数据库
中的方法和一个获取最新插入数据的方法
2、使用HTML的定时触发,如:setTimeout
3、在定时触发的方法里面写一个Ajax来调用一般处理程序即可(这里可以用Ajax的from表单
提交)
$.ajax({
cache:true,
type:"POST",
url:ajaxCallUrl,//你的一般处理程序路径
data:$('#yourformid').serialize(),//你的formid
async:false,
error:function(request){
alert("Connectionerror");
},
success:function(data){
散做手掘腊//回调获取插入数据的方法
毕滑}
});
Ⅳ javaweb发布后怎么实现浏览器打开自动加载数据库信息
用json格式,异步请求,当你点击一级菜单的时候,js触发,通过ajax异步把相关参数传到后台,查询出来的数据,然后封装成json格式数据返回,js拿到数据后,通过js把数据设置到页面相应的地方!
Ⅵ 使用myEclipse和mySQL进行Web开发,如何连接数据库并将用户输入的信息导入数据库
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class DoInsert {
private Connection conn=null;
private Statement stmt=null;
private String driver="com.mysql.jdbc.Driver";
private String username="root";
private String password="123456";
private String sql=
"INSER INTO student(name myclass score) VALUES('卞志成','0801','80')";
public boolean addStudent(){
boolean flag=false;
try{
//第一步 : 加载数据库厂商提供的驱动程序
Class.forName(driver);
}catch(ClassNotFoundException e){
e.printStackTrace();
}
//第二步 : 提供数据库的连接url;
String url="jdbc.mysql://localhost:3306/test";
try{
//第三步 :通过DriverManager获得数据库的一个连接对象
conn=DriverManager.getConnection(url, username, password);
}catch(SQLException e){
e.printStackTrace();
}
try{
//第四步 :创建Statement(SQL的执行环境)
stmt=conn.createStatement();
//第五步 :执行SQL语句
int row=stmt.executeUpdate(sql);
//第六步 : 处理结果
if(row==1)
flag=true;
}catch(SQLException e)
{
e.printStackTrace();
}finally{
//第七步 : 关闭JDBC的资源
if(null!=stmt)
{
try{stmt.close();}
catch(SQLException e){e.printStackTrace();}
}
if(null!=conn){
try{conn.close();}
catch(SQLException e){
e.printStackTrace();
}
}
}
return flag;
}
public static void main(String[] args)
{
DoInsert doinser=new DoInsert();
boolean flag =doinser.addStudent();
if(flag)
{
System.out.println("添加信息成功");
}
else{
System.out.println("添加信息失败");
}
}
}
Ⅶ java web 项目启动时加载数据库的数据到缓存中,如何实现求思路和实例。谢谢高峰相送
可以使用servlet的init方法访问数据库加载数据到java集合中,java集合相当于一块缓存,适用于一般的数据。