导出DBF,并且提供下载 .

简介: 原文:导出DBF,并且提供下载 .导出DBF,并且提供下载                  #region Declare                 string mFilePath = MapPath(".
原文: 导出DBF,并且提供下载 .

导出DBF,并且提供下载

                 #region Declare

                string mFilePath = MapPath("../DataTmp/");
                string mTableName = "WYKS";
                string mStrConn = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + mFilePath + @"/;Extended Properties=""dBASE IV;HDR=Yes;"";";

                System.Data.OleDb.OleDbConnection mOLDBConn = new System.Data.OleDb.OleDbConnection(mStrConn);
                if (System.IO.File.Exists(mFilePath + "//" + mTableName + ".DBF") == true)
                {
                    System.IO.File.Delete(mFilePath + "//" + mTableName + ".DBF");
                }
                #endregion Declare

                #region 创建DBF表文件

                #region CREATE TABLE

                string sqlt = "CREATE TABLE " + mTableName + "(" +
                    "KSH varchar(18)," +
                    "KSCJ varchar(1)," +
                    "KYZK varchar(1)," +
                    "YYYD varchar(1)" +
                    ")";
                System.Data.OleDb.OleDbCommand OLDBComm = new System.Data.OleDb.OleDbCommand(sqlt, mOLDBConn);
                mOLDBConn.Open();
                OLDBComm.ExecuteNonQuery();
                OLDBComm.Dispose();
                mOLDBConn.Close();

                #endregion CREATE TABLE

                #region Delete TableDate

                System.Data.OleDb.OleDbCommand OLDBCommIn = new System.Data.OleDb.OleDbCommand("delete * from " + mTableName, mOLDBConn);
                mOLDBConn.Open();
                OLDBCommIn.ExecuteNonQuery();
                OLDBCommIn.Dispose();
                mOLDBConn.Close();

                #endregion Delete TableDate

                #endregion 创建DBF表文件

                #region 导出数据到DBF

                string mWhere = " 1=1";
                if (this.txtExamsPoint.Text.Length > 0)
                {
                    mWhere = mWhere + " And ExamsPoint = '" + this.txtExamsPoint.Text.Trim() + "'";

                    if (this.txtExaminationRoom.Text.Trim().Length > 0)
                    {
                        mWhere = mWhere + " And ExaminationRoom In(Select ExaminationRoom From T_ExaminationRoom Where ExaminationRoomName = '" + this.txtExaminationRoom.Text.Trim() + "' And ExamsPoint = '" + this.txtExamsPoint.Text.Trim() + "')";
                    }
                }
                if (this.txtKSHStart.Text.Trim().Length > 0)
                {
                    mWhere = mWhere + " And KSH >= '" + this.txtKSHStart.Text.Trim() + "'";
                }
                if (this.txtKSHEnd.Text.Trim().Length > 0)
                {
                    mWhere = mWhere + " And KSH <= '" + this.txtKSHEnd.Text.Trim() + "'";
                }

                System.Data.DataSet mDSOralAcademic = new System.Data.DataSet();
                OralExam.Entity.T_OralAcademic mEOralAcademic = new OralExam.Entity.T_OralAcademic();

                mEOralAcademic.WhereCondition = mWhere;

                OralExam.Data.T_OralAcademic.pro_T_OralAcademic_SelectDynamic(mEOralAcademic, ref mDSOralAcademic, OralExam.BaseC.GlobeValues.ConnString);

                for (int i = 0; i < mDSOralAcademic.Tables[0].Rows.Count; i++)
                {
                    mEOralAcademic = OralExam.DataToEntity.T_OralAcademic.GetEntity(mDSOralAcademic, i);

                    string mSqlExport = "Insert Into " + mTableName + "(KSH,KSCJ,KYZK,YYYD)";
                    mSqlExport = mSqlExport + " Select ";
                    mSqlExport = mSqlExport + "'" + mEOralAcademic.KSH + "' as KSH,";
                    mSqlExport = mSqlExport + "'" + mEOralAcademic.AcademicCode + "' as KSCJ,";
                    mSqlExport = mSqlExport + "'" + mEOralAcademic.OralStatus.ToString() + "' as KYZK,";
                    mSqlExport = mSqlExport + "'" + mEOralAcademic.ToneStatus.ToString() + "' as YYYD";


                    System.Data.OleDb.OleDbCommand OLDBCommInsert = new System.Data.OleDb.OleDbCommand(mSqlExport, mOLDBConn);
                    mOLDBConn.Open();
                    OLDBCommInsert.ExecuteNonQuery();
                    OLDBCommInsert.Dispose();
                    mOLDBConn.Close();
                }
                #endregion 导出数据到DBF

                #region 提供下载

                System.IO.FileStream fs = new System.IO.FileStream(mFilePath + "//" + mTableName + ".DBF", System.IO.FileMode.Open, System.IO.FileAccess.Read);

                byte[] b = new Byte[fs.Length];
                fs.Read(b, 0, b.Length);
                fs.Flush();
                fs.Close();

                //System.IO.File.Delete(SavePdfPath);
                Response.Clear();
                Response.ClearHeaders();
                Response.Clear();
                Response.ClearHeaders();
                Response.Buffer = false;
                Response.ContentType = "application/octet-stream";      //ContentType;
                Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(mFilePath + "//" + mTableName + ".DBF", System.Text.Encoding.UTF8));
                Response.AppendHeader("Content-Length", b.Length.ToString());
                fs.Close();
                fs.Close();
                if (b.Length > 0)
                {
                    Response.OutputStream.Write(b, 0, b.Length);
                }

                Response.Flush();
                Response.End();

                #endregion 提供下载

其它相关:
      
转自:http://www.cnblogs.com/jyshi/

目录
相关文章
|
SQL XML Java
excel转sql小工具
该工具用于将Excel数据转换为SQL INSERT语句,便于历史数据迁移到新数据库。通过配置文件定义Excel表头与数据库字段的映射关系,并支持默认值设置及spEL表达式。主要依赖包括EasyExcel读取Excel,以及Lombok、Hutool等辅助工具。项目包含`Excel2SqlUtils.java`和`Excel2SqlListener.java`两个核心类,前者负责加载配置文件,后者实现数据读取与SQL语句生成。配置文件`model.yml`定义了具体的映射规则。
491 1
|
网络协议 Linux Shell
CentOS 7 下 GitLab安装部署教程
GitLab一个开源的git仓库管理平台,方便团队协作开发、管理。在GitLab上可以实现完整的CI(持续集成)、CD(持续发布)流程。而且还提供了免费使用的Plan,以及免费的可以独立部署的社区版本
4062 0
|
Ubuntu Linux 数据安全/隐私保护
在 Windows 中配置 WSL2 与 Debian 的全流程
【8月更文挑战第27天】本文详细介绍了在Windows环境中配置WSL2与Debian的全过程,包括确认Windows版本、启用相关功能、安装WSL并设置版本为WSL2、下载安装Debian、配置国内镜像源,以及设置Xserver实现GUI功能。通过这些步骤,用户能够顺利完成配置,并进行基本优化。
2091 0
|
XML SQL Java
mybatis-plus异常记录:org.apache.ibatis.binding.BindingException Invalid bound statement
mybatis-plus异常记录:org.apache.ibatis.binding.BindingException Invalid bound statement
2204 0
mybatis-plus异常记录:org.apache.ibatis.binding.BindingException Invalid bound statement
|
负载均衡 网络协议 JavaScript
阿里云轻量应用服务器2核2G3M带宽CPU性能测评
阿里云轻量应用服务器2核2G3M带宽CPU采用Intel(R) Xeon(R) Platinum 8269CY处理器,主频为2.50GHz,轻量应用服务器不限制CPU基准性能,2核2G3M轻量应用优惠价108元一年
2689 0
阿里云轻量应用服务器2核2G3M带宽CPU性能测评
|
Linux Windows
如何检测cpu是否支持avx2
【4月更文挑战第16天】如何检测cpu是否支持avx2
9315 0
|
编解码 Oracle 关系型数据库
【VNC】修改VNC分辨率大小
【VNC】修改VNC分辨率大小 VNC的分辨率过小有可能导致图形化界面操作过程中遇到“确认键或取消键”无法点击,分辨率过高又可能导致低分辨率客户端显示器无法显示。
24147 1
|
关系型数据库 MySQL 网络安全
自建个人音乐播放器Navidrome - 内网穿透实现在外随时访问
自建个人音乐播放器Navidrome - 内网穿透实现在外随时访问
3030 1
下一篇
开通oss服务