ASP 怎样poi读取excel20077里的数据到网页

当前位置:&&
本页文章导读:
&&&&?ASP.NET中常用的用来输出JS脚本的类&&&&&&
整个程序的代码如下:
代码如下: using S using System.Collections.G using System.T using System.W using System.Web.UI; /// &summary& /// 弹出JavaScript小窗口 /// &/summary& /// &param name="js"&gt......&&&&?asp.net 读取并显示excel数据的实现代码&&&&&&
我们的ASP页面将在远程服务器上,来读取我们的桌面Excel文件。首先,我们必须把它上传到远程服务器,然后retrive数据。因此,我们首先设计一个表格,上传到服务器。我们必须从文件retriv......&&&&?ASP.NET 缓存分析和实践浅析提高运行效率&&&&&&
向数据层、业务逻辑层、UI 或输出层添加缓存支持。内存现在非常便宜 — 因此,通过以智能的方式在整个应用程序中实现缓存,可以获得很大的性能提高。 缓存可以掩盖许多过失 缓存是......
&&&&&&最新IT科技资讯推荐:
[1]ASP.NET中常用的用来输出JS脚本的类
&&&&来源:&互联网& 发布时间:&
整个程序的代码如下:
代码如下: using S using System.Collections.G using System.T using System.W using System.Web.UI; /// &summary& /// 弹出JavaScript小窗口 /// &/summary& /// &param name="js"&窗口信息&/param& public static void Alert(string message, Page page) { #region string js = @"&Script language='JavaScript'& alert('" + message + "');&/Script&"; //HttpContext.Current.Response.Write(js); if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "alert")) { page.ClientScript.RegisterStartupScript(page.GetType(), "alert", js); } #endregion } /// &summary& /// 弹出消息框并且转向到新的URL /// &/summary& /// &param name="message"&消息内容&/param& /// &param name="toURL"&连接地址&/param& public static void AlertAndRedirect(string message, string toURL, Page page) { #region string js = "&script language=javascript&alert('{0}');window.location.replace('{1}')&/script&"; //HttpContext.Current.Response.Write(string.Format(js, message, toURL)); if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "AlertAndRedirect")) { page.ClientScript.RegisterStartupScript(page.GetType(), "AlertAndRedirect", string.Format(js, message, toURL)); } #endregion } /// &summary& /// 回到历史页面 /// &/summary& /// &param name="value"&-1/1&/param& public static void GoHistory(int value, Page page) { #region string js = @"&Script language='JavaScript'& history.go({0}); &/Script&"; //HttpContext.Current.Response.Write(string.Format(js, value)); if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "GoHistory")) { page.ClientScript.RegisterStartupScript(page.GetType(), "GoHistory", string.Format(js, value)); } #endregion } /// &summary& /// 关闭当前窗口 /// &/summary& public static void CloseWindow() { #region string js = @"&Script language='JavaScript'& parent.opener=window.close(); &/Script&"; HttpContext.Current.Response.Write(js); HttpContext.Current.Response.End(); #endregion } /// &summary& /// 刷新父窗口 /// &/summary& public static void RefreshParent(string url, Page page) { #region string js = @"&Script language='JavaScript'& window.opener.location.href='" + url + "';window.close();&/Script&"; //HttpContext.Current.Response.Write(js); if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "RefreshParent")) { page.ClientScript.RegisterStartupScript(page.GetType(), "RefreshParent", js); } #endregion } /// &summary& /// 刷新打开窗口 /// &/summary& public static void RefreshOpener(Page page) { #region string js = @"&Script language='JavaScript'& opener.location.reload(); &/Script&"; //HttpContext.Current.Response.Write(js); if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "RefreshOpener")) { page.ClientScript.RegisterStartupScript(page.GetType(), "RefreshOpener", js); } #endregion } /// &summary& /// 打开指定大小的新窗体 /// &/summary& /// &param name="url"&地址&/param& /// &param name="width"&宽&/param& /// &param name="heigth"&高&/param& /// &param name="top"&头位置&/param& /// &param name="left"&左位置&/param& public static void OpenWebFormSize(string url, int width, int heigth, int top, int left, Page page) { #region string js = @"&Script language='JavaScript'&window.open('" + url + @"','','height=" + heigth + ",width=" + width + ",top=" + top + ",left=" + left + ",location=no,menubar=no,resizable=yes,scrollbars=yes,status=yes,titlebar=no,toolbar=no,directories=no');&/Script&"; //HttpContext.Current.Response.Write(js); if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "OpenWebFormSize")) { page.ClientScript.RegisterStartupScript(page.GetType(), "OpenWebFormSize", js); } #endregion } /// &summary& /// 转向Url制定的页面 /// &/summary& /// &param name="url"&连接地址&/param& public static void JavaScriptLocationHref(string url, Page page) { #region string js = @"&Script language='JavaScript'& window.location.replace('{0}'); &/Script&"; js = string.Format(js, url); //HttpContext.Current.Response.Write(js); if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "JavaScriptLocationHref")) { page.ClientScript.RegisterStartupScript(page.GetType(), "JavaScriptLocationHref", js); } #endregion } /// &summary& /// 打开指定大小位置的模式对话框 /// &/summary& /// &param name="webFormUrl"&连接地址&/param& /// &param name="width"&宽&/param& /// &param name="height"&高&/param& /// &param name="top"&距离上位置&/param& /// &param name="left"&距离左位置&/param& public static void ShowModalDialogWindow(string webFormUrl, int width, int height, int top, int left, Page page) { #region string features = "dialogWidth:" + width.ToString() + "px" + ";dialogHeight:" + height.ToString() + "px" + ";dialogLeft:" + left.ToString() + "px" + ";dialogTop:" + top.ToString() + "px" + ";center:help=resizable:status:scroll=yes"; ShowModalDialogWindow(webFormUrl, features, page); #endregion } /// &summary& /// 弹出模态窗口 /// &/summary& /// &param name="webFormUrl"&&/param& /// &param name="features"&&/param& public static void ShowModalDialogWindow(string webFormUrl, string features, Page page) { string js = ShowModalDialogJavascript(webFormUrl, features); //HttpContext.Current.Response.Write(js); if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "ShowModalDialogWindow")) { page.ClientScript.RegisterStartupScript(page.GetType(), "ShowModalDialogWindow", js); } } /// &summary& /// 弹出模态窗口 /// &/summary& /// &param name="webFormUrl"&&/param& /// &param name="features"&&/param& /// &returns&&/returns& public static string ShowModalDialogJavascript(string webFormUrl, string features) { #region string js = @"&script language=javascript& showModalDialog('" + webFormUrl + "','','" + features + "');&/script&";
#endregion }
[2]asp.net 读取并显示excel数据的实现代码
&&&&来源:&互联网& 发布时间:&
我们的ASP页面将在远程服务器上,来读取我们的桌面Excel文件。首先,我们必须把它上传到远程服务器,然后retrive数据。因此,我们首先设计一个表格,上传到服务器。我们必须从文件retrive数据,再一次,所以我们将重新命名Excel,然后上传。 代码如下: &%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %& &!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"& &title&Read and Display Data From an Excel File (.xsl or .xlsx) in ASP.NET&/title& &style type="text/css"& tr.sectiontableentry1 td, tr.sectiontableentry2 td { padding: 4 } tr.sectiontableentry1 td { padding: 8px 5 background: url(hline.gif) repeat- } tr.sectiontableentry2 td { padding: 8px 5 background: url(hline.gif) repeat-x bottom #F2F2F2; } &/style& &/head& &body& &form id="form1" runat="server"& &div& &table
align="center" border="0"& &tbody& &tr& &td& &strong&Please Select Excel file containing job details…&/strong& &/td& &/tr& &tr& &td& &div & &asp:FileUpload ID="txtFilePath" runat="server"&&/asp:FileUpload&
&asp:Button ID="btnUpload" runat="server" Text="Upload" /&&br /& &asp:Label ID="lblMessage" runat="server" Visible="False" Font-Bold="True" ForeColor="#009933"&&/asp:Label& &/div& &/td& &/tr& &tr& &td& &asp:GridView ID="dtgJobs" runat="server"& &RowStyle Css /& &AlternatingRowStyle Css /& &/asp:GridView& &/td& &/tr& &/tbody& &/table& &/div& &/form& &/body& &/html&
连接使用Microsoft OLE DB提供的Excel jet 在Microsoft OLE DB提供用于Jet(联合发动机技术站是一个数据库引擎)提供的OLE DB接口,Microsoft Access数据库,并允许SQL Server 2005和更高分布式查询来查询Access数据库和Excel电子表格。我们将连接到Microsoft Excel工作簿使用Jet 4.0的Microsoft OLE DB提供, 读取数据,然后显示在GridView中的数据。 xlsx(Excel 2007年)载有提供者Microsoft.ACE.OLEDB.12.0。这是新的Access数据库引擎的OLE DB驱动程序,也是阅读Excel 2003的能力。我们将用它来阅读xlsx(Excel 2007年)的数据。 我们有一个Excel文件,其内容如下所示。注意:此表名称必须相同,意味着,如果想读的Sheet1的数据。你必须小心,同时书面方式的SQL查询,因为选择*从[Sheet1的$]和SELECT *从[Sheet1的$]是两个不同的查询。
代码如下: Protected Sub btnUpload_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnUpload.Click If (txtFilePath.HasFile) Then Dim conn As OleDbConnection Dim cmd As OleDbCommand Dim da As OleDbDataAdapter Dim ds As DataSet Dim query As String Dim connString As String = "" Dim strFileName As String = DateTime.Now.ToString("ddMMyyyy_HHmmss") Dim strFileType As String = System.IO.Path.GetExtension(txtFilePath.FileName).ToString().ToLower() ‘Check file type If strFileType.Trim = ".xls" Or strFileType.Trim = ".xlsx" Then txtFilePath.SaveAs(Server.MapPath("~/UploadedExcel/" & strFileName & strFileType)) Else lblMessage.Text = "Only excel files allowed" lblMessage.ForeColor = Drawing.Color.Red lblMessage.Visible = True Exit Sub End If Dim strNewPath As String = Server.MapPath("~/UploadedExcel/" & strFileName & strFileType) ‘Connection String to Excel Workbook If strFileType.Trim = ".xls" Then connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strNewPath & ";Extended Properties=""Excel 8.0;HDR=YIMEX=2""" ElseIf strFileType.Trim = ".xlsx" Then connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strNewPath & ";Extended Properties=""Excel 12.0;HDR=YIMEX=2""" End If query = "SELECT * FROM [Sheet1$]" ‘Create the connection object conn = New OleDbConnection(connString) ‘Open connection If conn.State = ConnectionState.Closed Then conn.Open() ‘Create the command object cmd = New OleDbCommand(query, conn) da = New OleDbDataAdapter(cmd) ds = New DataSet() da.Fill(ds) grvExcelData.DataSource = ds.Tables(0) grvExcelData.DataBind() da.Dispose() conn.Close() conn.Dispose() Else lblMessage.Text = "Please select an excel file first" lblMessage.ForeColor = Drawing.Color.Red lblMessage.Visible = True End If End Sub
C#.NET Code
代码如下: protected void btnUpload_Click(object sender, EventArgs e) { if ((txtFilePath.HasFile)) { OleDbConnection conn = new OleDbConnection(); OleDbCommand cmd = new OleDbCommand(); OleDbDataAdapter da = new OleDbDataAdapter(); DataSet ds = new DataSet(); string query = string connString = ""; string strFileName = DateTime.Now.ToString("ddMMyyyy_HHmmss"); string strFileType = System.IO.Path.GetExtension(txtFilePath.FileName).ToString().ToLower(); //Check file type if (strFileType == ".xls" || strFileType == ".xlsx") { txtFilePath.SaveAs(Server.MapPath("~/UploadedExcel/" + strFileName + strFileType)); } else { lblMessage.Text = "Only excel files allowed"; lblMessage.ForeColor = System.Drawing.Color.R lblMessage.Visible =
} string strNewPath = Server.MapPath("~/UploadedExcel/" + strFileName + strFileType); //Connection String to Excel Workbook if (strFileType.Trim() == ".xls") { connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strNewPath + ";Extended Properties=\"Excel 8.0;HDR=YIMEX=2\""; } else if (strFileType.Trim() == ".xlsx") { connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strNewPath + ";Extended Properties=\"Excel 12.0;HDR=YIMEX=2\""; } query = "SELECT * FROM [Sheet1$]"; //query = "SELECT [Country],[Capital] FROM [Sheet1$] WHERE [Currency]='Rupee'" //query = "SELECT [Country],[Capital] FROM [Sheet1$]" //Create the connection object conn = new OleDbConnection(connString); //Open connection if (conn.State == ConnectionState.Closed) conn.Open(); //Create the command object cmd = new OleDbCommand(query, conn); da = new OleDbDataAdapter(cmd); ds = new DataSet(); da.Fill(ds); grvExcelData.DataSource = ds.Tables[0]; grvExcelData.DataBind(); lblMessage.Text = "Data retrieved successfully! Total Records:" + ds.Tables[0].Rows.C lblMessage.ForeColor = System.Drawing.Color.G lblMessage.Visible = da.Dispose(); conn.Close(); conn.Dispose(); } else { lblMessage.Text = "Please select an excel file first"; lblMessage.ForeColor = System.Drawing.Color.R lblMessage.Visible = } }
使用上面的代码进行测试,得到的结果如下所示:以上就是使用asp.net读取并显示excel数据
[3]ASP.NET 缓存分析和实践浅析提高运行效率
&&&&来源:&互联网& 发布时间:&
向数据层、业务逻辑层、UI 或输出层添加缓存支持。内存现在非常便宜 — 因此,通过以智能的方式在整个应用程序中实现缓存,可以获得很大的性能提高。 缓存可以掩盖许多过失 缓存是一种无需大量时间和分析就可以获得“足够良好的”性能的方法。
这里再次强调,内存现在非常便宜,因此,如果您能通过将输出缓存 30 秒,而不是花上一整天甚至一周的时间尝试优化代码或数据库就可以获得所需的性能,您肯定会选择缓存解决方案(假设可以接受 30 秒的旧数据)。缓存正是那些利用 20% 付出获得 80% 回报的特性之一,因此,要提高性能,应该首先想到缓存。
不过,如果设计很糟糕,最终却有可能带来不良的后果,因此,您当然也应该尽量正确地设计应用程序。但如果您只是需要立即获得足够高的性能,缓存就是您的最佳选择,您可以在以后有时间的时候再尽快重新设计应用程序。 页面级输出缓存 作为最简单的缓存形式,输出缓存只是在内存中保留为响应请求而发送的 HTML 的副本。其后再有请求时将提供缓存的输出,直到缓存到期,这样,性能有可能得到很大的提高(取决于需要多少开销来创建原始页面输出 – 发送缓存的输出总是很快,并且比较稳定)。 实现 要实现页面输出缓存,只要将一条 OutputCache 指令添加到页面即可。
﹤%@ OutputCache Duration=”60″ VaryByParam=”*” %﹥
如同其他页面指令一样,该指令应该出现在 ASPX 页面的顶部,即在任何输出之前。它支持五个属性(或参数),其中两个是必需的。  Duration 必需属性。页面应该被缓存的时间,以秒为单位。必须是正整数。Location 指定应该对输出进行缓存的位置。如果要指定该参数,则必须是下列选项之一:Any、Client、Downstream、None、Server 或 ServerAndClient。VaryByParam 必需属性。Request 中变量的名称,这些变量名应该产生单独的缓存条目。”none” 表示没有变动。”*” 可用于为每个不同的变量数组创建新的缓存条目。变量之间用 “; ” 进行分隔。 VaryByHeader 基于指定的标头中的变动改变缓存条目。
VaryByCustom 允许在 global.asax 中指定自定义变动(例如,”Browser”)。 利用必需的 Duration 和 VaryByParam 选项的组合可以处理大多数情况。例如,如果您的产品目录允许用户基于 categoryID 和页变量查看目录页,您可以用参数值为 “categoryID; page” 的 VaryByParam 将产品目录缓存一段时间(如果产品不是随时都在改变,一小时还是可以接受的,因此,持续时间是 3600 秒)。这将为每个种类的每个目录页创建单独的缓存条目。每个条目从其第一个请求算起将维持一个小时。VaryByHeader 和 VaryByCustom 主要用于根据访问页面的客户端对页面的外观或内容进行自定义。同一个 URL 可能需要同时为浏览器和移动电话客户端呈现输出,因此,需要针对不同的客户端缓存不同的内容版本。
或者,页面有可能已经针对 IE 进行了优化,但需要能针对 Netscape 或 Opera 完全降低优化(而不仅仅是破坏页面)。后一个例子非常普遍,我们将提供一个说明如何实现此目标的示例:示例:VaryByCustom 用于支持浏览器自定义 为了使每个浏览器都具有单独的缓存条目,VaryByCustom 的值可以设置为 “browser”。此功能已经内置在缓存模块中,并且将针对每个浏览器名称和主要版本插入单独的页面缓存版本。
﹤%@ OutputCache Duration=”60″ VaryByParam=”None” VaryByCustom=”browser” %﹥
片段缓存,用户控件输出缓存 缓存整个页面通常并不可行,因为页面的某些部分是针对用户定制的。不过,页面的其他部分是整个应用程序共有的。这些部分最适合使用片段缓存和用户控件进行缓存。菜单和其他布局元素,尤其是那些从数据源动态生成的元素,也应该用这种方法进行缓存。如果需要,可以将缓存的控件配置为基于对其控件(或其他属性)的更改或由页面级输出缓存支持的任何其他变动进行改变。使用同一组控件的几百个页面还可以共享那些控件的缓存条目,而不是为每个页面保留单独的缓存版本。实现片段缓存使用的语法与页面级输出缓存一样,但其应用于用户控件(.ascx 文件)而不是 Web 窗体(.aspx 文件)。除了 Location 属性,对于 OutputCache 在 Web 窗体上支持的所有属性,用户控件也同样支持。用户控件还支持名为 VaryByControl 的 OutputCache 属性,该属性将根据用户控件(通常是页面上的控件,例如,DropDownList)的成员的值改变该控件的缓存。
如果指定了 VaryByControl,可以省略 VaryByParam。最后,在默认情况下,对每个页面上的每个用户控件都单独进行缓存。不过,如果一个用户控件不随应用程序中的页面改变,并且在所有页面都使用相同的名称,则可以应用 Shared=”true” 参数,该参数将使用户控件的缓存版本供所有引用该控件的页面使用。 示例
﹤%@ OutputCache Duration=”60″ VaryByParam=”*” %﹥
该示例将ASP.NET缓存用户控件 60 秒,并且将针对查询字符串的每个变动、针对此控件所在的每个页面创建单独的缓存条目。
﹤%@ OutputCache Duration=”60″ VaryByParam=”none” VaryByControl=”CategoryDropDownList” %﹥
该示例将ASP.NET缓存用户控件 60 秒,并且将针对 CategoryDropDownList 控件的每个不同的值、针对此控件所在的每个页面创建单独的缓存条目。
﹤%@ OutputCache Duration=”60″ VaryByParam=”none” VaryByCustom=”browser” Shared=”true %﹥
最后,该示例将ASP.NET缓存用户控件 60 秒,并且将针对每个浏览器名称和主要版本创建一个缓存条目。然后,每个浏览器的缓存条目将由引用此用户控件的所有页面共享(只要所有页面都用相同的 ID 引用该控件即可)。 页面级和用户控件级输出缓存的确是一种可以迅速而简便地提高站点性能的方法,但是ASP.NET缓存的真正灵活性和强大功能是通过Cache 对象提供的。使用 Cache 对象,您可以存储任何可序列化的数据对象,基于一个或多个依赖项的组合来控制缓存条目到期的方式。这些依赖项可以包括自从项被缓存后经过的时间、自从项上次被访问后经过的时间、对文件和/或文件夹的更改以及对其他缓存项的更改,在略作处理后还可以包括对数据库中特定表的更改。
ASP.NET缓存的方法分析和实例讲解就到这里,希望对你了解ASP.NET缓存有所帮助。
最新技术文章:
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!
(C)2012-,站长邮箱:www_169it_(请将#改为@)如何通过asp.net网站将Excel表数据导入数据库中
[问题点数:60分,结帖人cx067261]
如何通过asp.net网站将Excel表数据导入数据库中
[问题点数:60分,结帖人cx067261]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。记住登录一个月发表随想还能输入:200字该用户最新代码编程随想&by by by by by by [asp]代码库在页面上导入个excel文件,将该excel中的数据导入到数据库中,并且在页面的gridview中把数据显示出来.
1.在Asp.net中怎样将Excel文件中的数据导入到GridView中呢?
首先我们将这张表中的数据转换为DataTable类型的数据源,做一个函数来解决这个问题
private DataTable createDataSource(string strPath)
stringstrC
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strPath
+ ";Extended Properties=Excel 8.0";
OleDbConnectioncon = new OleDbConnection(strCon);
OleDbDataAdapterda = new OleDbDataAdapter("select * from [Sheet1$]", con);
DataTabledt = new DataTable();
da.Fill(dt);
只需要传入Excel文件的路径即可。
其次我们就是利用这个可以函数了。要想将客户端的Excel文件显示到客户端的GridView控件当中,这次都是客户端的东西,在我们的服务器端代码是无法做到的。所以我们必须把这个Excel文件暂时的保存到服务器,我们读取服务器端的文件才可以实现这样的功能。看下面的实现代码:
protected void Button1_Click(objectsender, EventArgs e)
//检查文件是否存在
if(FileUpload1.HasFile == false)//HasFile用来检查FileUpload是否有指定文件
Page.ClientScript.RegisterStartupScript(Page.GetType(),"message", "&script language='javascript' defer&alert('请您选择Excel文件!');&/script&");
//当无文件时,返回
stringfilename = DateTime.Now.ToString("yyyymmddhhMMss") +FileUpload1.FileN
//获取Execle文件名
DateTime日期函数
stringsavePath = Server.MapPath(("~/Doc/")+ filename);//Server.MapPath 获得虚拟服务器相对路径
//如果已经存在就清空
ClearFile(Server.MapPath("~/Doc/"));
FileUpload1.SaveAs(savePath);
//SaveAs将上传的文件内容保存在服务器上
DataTabledt = createDataSource(savePath);
GridView1.DataSource =
GridView1.DataBind();
在上面的代码中我们用到了一个函数ClearFile,它是用来清理文件夹的,我们将Excel文件暂时的存储到服务器端的一个文件夹中,只能暂时的存储,那么东西只会越来越多,而且这些东西也是一些没用的东西,很可能导致系统性能的下降。我们就是用这个函数来清理文件的,下面来一睹这个函数的精妙:
private void ClearFile(stringFilePath)
String[]files = System.IO.Directory.GetFiles(FilePath);
if(files.Length & 5)
for(int i = 0; i & 5; i++)
System.IO.File.Delete(files[i]);
分享到:更多发表评论:评论须知:1、评论每次加2分,每天上限为30;2、请文明用语,共同创建干净的技术交流环境;3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。}

我要回帖

更多关于 poi读取excel2007 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信