开发网站 数据库php+html转+wordpress

张小明 2026/1/12 6:34:29
开发网站 数据库,php+html转+wordpress,书画网站模板asp,设计家装修效果图软件一、使用背景 Excel表格是一种体现数据直观#xff0c;又能分析筛选数据的强大工具。比如说纳税申报表、财务报表、工资表、成绩排名表、数据采集表等等都是Excel#xff0c;表格形式体现。 特别地#xff0c;在进行数据库操作中#xff0c;对于批量的数据的采集#xf…一、使用背景Excel表格是一种体现数据直观又能分析筛选数据的强大工具。比如说纳税申报表、财务报表、工资表、成绩排名表、数据采集表等等都是Excel表格形式体现。特别地在进行数据库操作中对于批量的数据的采集单笔从UI层控件录入不仅效率低下而且容易出错Excel表格提供数据采集的方式跟高效又便捷。但是在代码的世界中要怎么通过非视觉可视化操作代码的形式去驱动excel工作表呢我们可以在Oledb数据源中找到答案它提供了一系列接口规范可以以Excel表格作为数据源操作进行增删查改。二、操作流程1.引用OldDb类库命名空间未安装需要右击项目-管理Nuget程序包搜索OleDb安装上。using System.Data.OleDb;2.设置Excel表格模版规范命名表头按需要采集数据2.后端代码编写通过.ashx一般处理程序获取前段提交的Excel文件建立OleDB数据连接。这里以导入商品数据为例进行数据的预览。using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Script.Serialization; using iTextSharp; using iTextSharp.text; using iTextSharp.text.pdf; using System.IO; using System.Data.OleDb; namespace MySolution1 { /// summary /// 建立前端适配的映射类 /// /summary class ReqParams { public string type { get; set; } public int payload { get; set; } } /// summary /// Handler1 的摘要说明 /// /summary public class Handler1 : IHttpHandler { public void ProcessRequest(HttpContext context) { //创建序列化工具 JavaScriptSerializer serializer new JavaScriptSerializer(); //获取前端提交的JSON字符串 string jsonString context.Request.Form[param].ToString(); //反序列化映射JSON字符串 ReqParams req serializer.DeserializeReqParams(jsonString); //需要返回前端的状态 object state null; switch (req.type) { case init: state new { time DateTime.Now.ToLongTimeString(), resultreq.payload1, }; break; case uploadFile: //有文件上传负载到Request中才下一步操作 if (context.Request.Files.Count 0) { HttpPostedFile file context.Request.Files[file]; //制定文件保存路径 string savePath context.Server.MapPath(~/Content/images/) file.FileName; try { //保存文件记录状态信息 file.SaveAs(savePath); state new { time DateTime.Now.ToLongTimeString(), result 上传成功, payload req.payload 1, url /Content/images/ file.FileName, }; } catch(Exception e) { //保存失败抛出错误信息 state new { time DateTime.Now.ToLongTimeString(), result 上传失败 e.Message.ToString(), payload-1 }; } } break; case getScorePDF: state CreatePDF(context); break; case previewExcelData: state PreviewExcelData(context); break; } context.Response.Write(serializer.Serialize(state)); } object PreviewExcelData(HttpContext context) { if(context.Request.Files.Count0) { //获取客户端提交的excel文件 HttpPostedFile excel context.Request.Files[excel]; //保存到本地目录 string path context.Server.MapPath(~/Content/) excel.FileName; excel.SaveAs(path); //建立excel数据源连接 string connectionString $ProviderMicrosoft.ACE.OLEDB.12.0;Data Source{path};Extended PropertiesExcel 12.0 Xml;HDRYES;; using (OleDbConnection conn new OleDbConnection(connectionString)) { try { string sql select * from [sheet1$]; //提供容器盛放业务数据 ListGoodsInfo list new ListGoodsInfo(); conn.Open(); //获取数据读取器 OleDbDataReader dr new OleDbCommand(sql, conn).ExecuteReader(System.Data.CommandBehavior.CloseConnection); //循环读取数据添加到容器中 while (dr.Read()) { list.Add(new GoodsInfo() { GoodsIdConvert.ToString(dr[0]), GoodsName Convert.ToString(dr[1]), GoodsPrice Convert.ToDecimal(dr[2]), GoodsDesc Convert.ToString(dr[3]), }); } return new { datalist, time DateTime.Now.ToString(), success true, payload 1, }; } finally { conn.Close(); } } } else { return new { errorMsg未获取到文件信息, timeDateTime.Now.ToString(), successfalse, payload-1, }; } } object CreatePDF(HttpContext context) { Random ran new Random(60); //指定pdf文件目录 string path context.Server.MapPath(~/Content/) scorePDF.pdf; //创建pdf文档、pdf写入器 Document pdf new Document(PageSize.A4, 10, 10, 40, 30); PdfWriter writer PdfWriter.GetInstance(pdf, new FileStream(path, FileMode.Create)); // 指定中文字体如微软雅黑 string fontPath C:\Windows\Fonts\msyh.ttc,0; // 微软雅黑 BaseFont baseFont BaseFont.CreateFont(fontPath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED); Font chineseFont new Font(baseFont, 8); try { pdf.Open(); //建立表格对象 PdfPTable table new PdfPTable(3 3 3); //添加表格的单元格数据 table.AddCell(new PdfPCell(new Phrase(姓名, chineseFont))); table.AddCell(new PdfPCell(new Phrase(班级, chineseFont))); table.AddCell(new PdfPCell(new Phrase(准考证, chineseFont))); table.AddCell(new PdfPCell(new Phrase(语文, chineseFont))); table.AddCell(new PdfPCell(new Phrase(数学, chineseFont))); table.AddCell(new PdfPCell(new Phrase(英语, chineseFont))); table.AddCell(new PdfPCell(new Phrase(体育, chineseFont))); table.AddCell(new PdfPCell(new Phrase(美术, chineseFont))); table.AddCell(new PdfPCell(new Phrase(劳动, chineseFont))); //也可以添加表格的行 PdfPRow row new PdfPRow(new PdfPCell[] { new PdfPCell(new Phrase(李明,chineseFont)), new PdfPCell(new Phrase(一年级二班,chineseFont)), new PdfPCell(new Phrase(0500090901,chineseFont)), new PdfPCell(new Phrase(ran.Next(60,100).ToString(),chineseFont)), new PdfPCell(new Phrase(ran.Next(60,100).ToString(),chineseFont)), new PdfPCell(new Phrase(ran.Next(60,100).ToString(),chineseFont)), new PdfPCell(new Phrase(ran.Next(60,100).ToString(),chineseFont)), new PdfPCell(new Phrase(ran.Next(60,100).ToString(),chineseFont)), new PdfPCell(new Phrase(ran.Next(60,100).ToString(),chineseFont)), }); table.Rows.Add(row); //把表格放入pdf文档 pdf.Add(table); return new { time DateTime.Now.ToLongTimeString(), result 操作成功, url /Content/scorePDF.pdf, success true }; } catch(Exception e) { throw new Exception(e.Message.ToString()); } finally { pdf.Close(); } } public bool IsReusable { get { return false; } } } [Serializable] class GoodsInfo { public string GoodsId { get; set; } public string GoodsName { get; set; } public decimal GoodsPrice { get; set; } public string GoodsDesc { get; set; } } }3.前端代码编写提供input文件上传控件获取Excel文件依据接口提交网络请求给后端并依据读取结果渲染数据进行预览。% Page LanguageC# AutoEventWireuptrue CodeBehindWebForm3.aspx.cs InheritsMySolution1.WebForm3 % !DOCTYPE html html xmlnshttp://www.w3.org/1999/xhtml head runatserver meta http-equivContent-Type contenttext/html; charsetutf-8/ title使用ASP.NET读取Excel表格/title script srcScripts/jquery-1.10.2.min.js/script /head body div input typefile idexcel / button onclickreadExcel()数据读取/button /div div table iddata-table border1 cellspacing0 cellpadding0 thead tr td商品代码/td td商品名称/td td商品价格/td td商品备注/td /tr /thead tbody /tbody /table /div /body /html script typetext/javascript function readExcel() { //配置参数对接后端 const param { type: previewExcelData, payload:0 } //获取负载的excel文件 const excel $(#excel)[0].files const formDatanew FormData() formData.append(param, JSON.stringify(param)) formData.append(excel, excel[0]) //发送请求到后端 $.ajax({ url:/Handler1.ashx, type:post, data:formData, processData:false, contentType:false, success:res{ const data JSON.parse(res) if (data.success) { alert(读取成功) $(#data-table tbody).html(null) data.data.map(i { $(#data-table tbody).append(tr td i.GoodsId /td td i.GoodsName /td td i.GoodsPrice /td td i.GoodsDesc /td /tr) }) }else{ alert(读取失败data.errorMsg) } } }) } /script4.编译运行页面上传Excel文件后可查看结果三、注意事项1.Excel模版设置需要和后台读取接口保持一致例如上述商品管理的Excel导入模版的数据和后台读取表格的列是一一对应的2.数据库操作需要进行一定的异常处理例如try-catch-finally避免读取数据连接未关闭3.确保Excel文件来源的安全性数据导入模版是事先设定好、经过视图加密的防范宏病毒
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网络技术网站是做什么的网站开发怎么对接客户

智能运维平台实战指南:从传统运维到自动化革命的深度解析 【免费下载链接】oms OMS运维管理平台 项目地址: https://gitcode.com/gh_mirrors/om/oms 深夜两点,运维工程师小李还在手动登录数十台服务器,重复执行相同的系统更新命令。这…

张小明 2026/1/7 8:29:43 网站建设

做课件最好的素材网站纯静态网站seo

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

张小明 2025/12/25 12:48:20 网站建设

甘肃城乡建设局安全质量网站大学生求职简历模板

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个企业密码安全检测工具,能够导入rockyou.txt等密码字典,自动检测企业员工密码强度。要求支持批量导入用户密码hash值(MD5/SHA1等&#xf…

张小明 2025/12/22 12:05:59 网站建设

一流的常州网站优化三丰云服务器

第一章:多模态 Agent 的 Docker 网络隔离在构建多模态 Agent 系统时,Docker 容器化技术为不同功能模块(如语音识别、图像处理、自然语言理解)提供了轻量级部署方案。然而,多个 Agent 间若共用默认网络环境,…

张小明 2026/1/8 2:09:45 网站建设

学习电子商务网站建设与管理wordpress 添加h5游戏

在全球化协作日益普及的软件开发环境中,代码质量工具的国际化支持已成为提升开发效率的关键要素。GitHub精选项目"fuck-u-code"作为一款基于Go语言构建的代码质量检测器,不仅能够精准评估代码的"屎山等级",更通过完善的国…

张小明 2026/1/3 7:12:16 网站建设

打开英文网站字体不对做宴会有哪些素材网站

看到虚拟优盘进行拖拽升级后,我也进行了几天测试尝试,终于还是找到了方法,能够在手机也能升级。模拟优盘主要是向电脑发送DBR表,DBR(DOS Boot Record):磁盘操作系统引导记录,DBR是每个逻辑分区的一个引导记…

张小明 2025/12/22 11:56:22 网站建设