文档库 最新最全的文档下载
当前位置:文档库 › 导出Excel数据

导出Excel数据

导出Excel数据
导出Excel数据

网站导航:免费论文原创论文论文搜索作业答案网学软件学术大家资料中心会员中心问题解答定作论文论文素材设计下载最新论文下载排行论文上传在线投稿联系我们最新论文推荐专题热门论文素材专题网站首页设计下载关于网学程序设计设计资源论文模板网学软件网页素材网页模板精品课件游戏频道网学论坛原创论文网站设计交易代码C++ VB ASP VF DELPHI JSP 电气计算机经济打包下载查询工具设计案例教授专家实用代码网页配色便捷工具表单美化免费论文可用论文论文培训时间与效率DIV技术

JS代码百宝箱设计师AJAX代码GIF素材背景图片网页图标QQ表情png图标动画素材PPT模板DIVCSS模板企业模板韩国模板日本模板欧美模板个人模板节庆模板实用工具

Psd素材QQ专栏CAJ文档游戏评论游戏攻略游戏赏析游戏前瞻游戏新闻游戏帮助游戏秘籍游戏补丁国外课件本科课件网络课件原创设计原创下载原创论文网站维护(新)

虚拟实验,在线实验系统口才培训驾照考试酒后代驾精品书籍反查论文原创地图设计定作设计专题计算机原创网络教育收录查询治病救人ASP,网站,C/S,设计等定作

栏目导航:定作论文作品网站策划Silverlight 业界动态实用代码美工之家.Net编程数据库Project MATLAB 当前位置:网学> 设计资源> .Net编程> 正文效率最高的Excel 数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】来源:https://www.wendangku.net/doc/d512097745.html, 联系QQ:作者:佚名来源:网络发布时间:11/01/20 -

-

本文目录:

(一)背景【源码下载】

(二)数据库数据导入到Excel的方法比较

(三)SSIS的简介

(四)数据库中存储过程示例(SSIS应用需要)

(五)Excel模板的制作(这步这么简单,稍微介绍一下)

(六)SSIS操作过程(生成Package,用来调用)(下一篇随笔将详细讲解制作Package 包的过程,图片太多,篇幅过长,因此本文将直接采用生成的Package包进行应用)

(七)C#中如何调用SSIS创建的Package和Excel模板(可以自己编写逻辑代码进行重复利用),用来生成Excel数据

(八)总结

(一)背景

如何将数据库中的数据导入到EXCEL文件中,我们经常会碰到。本文将比较常用的几种方法,并且将详细讲解基于SSIS的用法。笔者认为,基于SSIS的方法,对于海量数据来说,应该是效率最好的一种方法。个人认为,这是一种值得推荐的方法,因此,本人决定将本人所知道的、以及自己总结的完整的写出来,一是提高一下自己的写作以及表达能力,二

是让更多的读者能够在具体的应用中如何解决将海量数据导入到Excel中的效率问题。

(二)方法的比较

方案一:SSIS(SQL Server数据集成服务),追求效率,Package制作过程复杂一点(容易出错)。

方案二:采用COM.Excel组件。一般,对于操作能够基本满足,但对于数据量大时可能会慢点。下面的代码,本人稍微修改了下,如下所示:该方法主要是对单元格一个一个的循环写入,基本方法为excel.WriteValue(ref vt, ref cf, ref ca, ref chl, ref rowIndex, ref colIndex, ref str, ref cellformat)。当数据量大时,肯定效率还是有影响的。

public string DataExcels(System.Data.DataTable dts, string strTitle, string FilePath, Hashtable nameList,string titles)

{

COM.Excel.cExcelFile excel = new COM.Excel.cExcelFile();

//当文件大于10的时候清空所有文件!!!

ClearFile(FilePath);

//文件名

string filename = strTitle+ DateTime.Now.ToString("yyyyMMddHHmmssff") + ".xls";

//生成相应的文件

excel.CreateFile(FilePath + filename);

//设置margin

COM.Excel.cExcelFile.MarginTypes mt1 = COM.Excel.cExcelFile.MarginTypes.xlsTopMargin;

COM.Excel.cExcelFile.MarginTypes mt2 = COM.Excel.cExcelFile.MarginTypes.xlsLeftMargin;

COM.Excel.cExcelFile.MarginTypes mt3 = COM.Excel.cExcelFile.MarginTypes.xlsRightMargin;

COM.Excel.cExcelFile.MarginTypes mt4 = COM.Excel.cExcelFile.MarginTypes.xlsBottomMargin;

double height = 2.2;

excel.SetMargin(ref mt1, ref height);

excel.SetMargin(ref mt2, ref height);

excel.SetMargin(ref mt3, ref height);

excel.SetMargin(ref mt4, ref height);

//设置字体!!

COM.Excel.cExcelFile.FontFormatting ff = COM.Excel.cExcelFile.FontFormatting.xlsNoFormat;

string font = "宋体";

short fontsize = 14;

excel.SetFont(ref font, ref fontsize, ref ff);

byte b1 = 1, b2 = 12;

short s3 = 12;

excel.SetColumnWidth(ref b1, ref b2, ref s3);

string header = "页眉";

string footer = "页脚";

excel.SetHeader(ref header);

excel.SetFooter(ref footer);

COM.Excel.cExcelFile.ValueTypes vt = COM.Excel.cExcelFile.ValueTypes.xlsText;

COM.Excel.cExcelFile.CellFont cf = COM.Excel.cExcelFile.CellFont.xlsFont0;

COM.Excel.cExcelFile.CellAlignment ca = COM.Excel.cExcelFile.CellAlignment.xlsCentreAlign;

COM.Excel.cExcelFile.CellHiddenLocked chl = COM.Excel.cExcelFile.CellHiddenLocked.xlsNormal;

// 报表标题

int cellformat = 1;

int rowIndex = 1;//起始行

int colIndex = 0;

foreach (System.Data.DataTable dt in dts)

{

colIndex = 0;

//取得列标题

foreach (DataColumn colhead in dt.Columns)

{

colIndex++;

string name = colhead.ColumnName.Trim();

object namestr = (object)name;

excel.WriteValue(ref vt, ref cf, ref ca, ref chl, ref rowIndex, ref colIndex, ref namestr, ref cellformat);

}

//取得表格中的数据

foreach (DataRow row in dt.Rows)

{

rowIndex++;

colIndex = 0;

foreach (DataColumn col in dt.Columns)

{

colIndex++;

if (col.DataType == System.Type.GetType("System.DateTime"))

{

object str = (object)(Convert.ToDateTime(row[col.ColumnName].ToString())).ToString("yyyy-MM-dd"); ;

excel.WriteValue(ref vt, ref cf, ref ca, ref chl, ref rowIndex, ref colIndex, ref str, ref cellformat);

}

else

{

object str = (object)row[col.ColumnName].ToString();

excel.WriteValue(ref vt, ref cf, ref ca, ref chl, ref rowIndex, ref colIndex, ref str, ref cellformat);

}

}

}

rowIndex += 3 ;

}

int ret = excel.CloseFile();

return FilePath+filename;

}

方案三:采用Excel组件。一般,对于操作能够基本满足,但对于数据量大时可能会慢点。下面的代码,本人在原有基础上稍微修改了下,如下所示:

public string OutputExceles(string strTitle, string FilePath, string typeName, System.Data.DataTable dtList, string smallTitleList)

{

beforeTime = DateTime.Now;

Excel.Application excel;

Excel._Workbook xBk;

Excel._Worksheet xSt;

int rowIndex = 1;

int colIndex = 1;

excel = new Excel.ApplicationClass();

xBk = excel.Workbooks.Add(true);

xSt = (Excel._Worksheet)xBk.ActiveSheet;

int add=0;

foreach (System.Data.DataTable dt in dtList)

{

colIndex = 1;

//取得整个报表的标题

excel.Cells[rowIndex , 1] = smallTitle[add];

add++;

////设置整个报表的标题格式

xSt.get_Range(excel.Cells[rowIndex, 1], excel.Cells[rowIndex , dt.Columns.Count]).Font.Bold = true;

xSt.get_Range(excel.Cells[rowIndex, 1], excel.Cells[rowIndex , dt.Columns.Count]).Font.Size = 22;

////设置整个报表的标题为跨列居中

xSt.get_Range(excel.Cells[rowIndex , 1], excel.Cells[rowIndex , dt.Columns.Count]).Select();

xSt.get_Range(excel.Cells[rowIndex , 1], excel.Cells[rowIndex, dt.Columns.Count]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenterAcrossSelection;

rowIndex++;

foreach (DataColumn col in dt.Columns)

{

excel.Cells[rowIndex, colIndex] = col.ColumnName;

//设置标题格式为居中对齐

xSt.get_Range(excel.Cells[rowIndex, colIndex], excel.Cells[rowIndex, colIndex]).Font.Bold = true;

xSt.get_Range(excel.Cells[rowIndex, colIndex], excel.Cells[rowIndex, colIndex]).HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter;

xSt.get_Range(excel.Cells[rowIndex, colIndex], excel.Cells[rowIndex, colIndex]).Select();

xSt.get_Range(excel.Cells[rowIndex, colIndex], excel.Cells[rowIndex, colIndex]).Interior.ColorIndex = titleColorindex;

colIndex++;

}

//取得表格中的数据

foreach (DataRow row in dt.Rows)

{

rowIndex++;

colIndex = 1;

foreach (DataColumn col in dt.Columns)

{

if (col.DataType == System.Type.GetType("System.DateTime"))

{

if (!string.IsNullOrEmpty(row[col.ColumnName].ToString()))

{

excel.Cells[rowIndex, colIndex] = (Convert.ToDateTime(row[col.ColumnName].ToString())).ToString("yyyy-MM-dd");

xSt.get_Range(excel.Cells[rowIndex, colIndex], excel.Cells[rowIndex, colIndex]).HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter; } }

else if (col.DataType == System.Type.GetType("System.String"))

{

excel.Cells[rowIndex, colIndex] = "'" + row[col.ColumnName].ToString();

xSt.get_Range(excel.Cells[rowIndex, colIndex], excel.Cells[rowIndex, colIndex]).HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter;r; } else

{

excel.Cells[rowIndex, colIndex] = row[col.ColumnName].ToString();

xSt.get_Range(excel.Cells[rowIndex, colIndex], excel.Cells[rowIndex, colIndex]).HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter; } colIndex++;

}

}

rowIndex ++;

}

afterTime = DateTime.Now;

https://www.wendangku.net/doc/d512097745.html, = strTitle;

string filename = typeName + DateTime.Now.ToString("yyyyMMdd") + ".xls";

// excel.Save(FilePath+filename);

excel.ActiveWorkbook.SaveCopyAs(FilePath + filename);

#region 结束Excel进程

xBk.Close(null, null, null);

excel.Workbooks.Close();

excel.Quit();

#endregion

return filename;

}

方法四:采用DataGrid,GridView自带的属性。如下:

private void ExportExcelFromDataGrid(string filename, System.Web.UI.WebControls.GridView ToExcelGrid)

{

Response.ClearHeaders();

Response.Clear();

Response.Expires = 0;

Response.Buffer = true;

Response.HeaderEncoding = System.Text.Encoding.UTF8;

// Response.Charset = "utf-8";

Response.AppendHeader("Content-Disposition", "attachment;filename=" + Server.UrlEncode(filename));

Response.ContentEncoding = System.Text.Encoding.Default;//设置输出流为简体中文

// Response.ContentType = "application/ms-excel";//设置输出文件类型为excel 文件。

Response.ContentType = "Application/octet-stream";

this.EnableViewState = false;

System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("zh-CHS", true);

System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);

System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);

ToExcelGrid.RenderControl(oHtmlTextWriter);

Response.Write(oStringWriter.ToString());

Response.End();

}

(三)SSIS的简介

SQL Server 2005 提供的一个集成化的商业智能开发平台,主要包括:

*SQL Server Analysis Services(SQL Server数据分析服务,简称SSAS)

*SQL Server Reporting Services(SQL Server报表服务,简称SSRS)

*SQL Server Integration Services(SQL Server数据集成服务,简称SSIS)

SQL Server 2005 Integration Services (SSIS) 提供一系列支持业务应用程序开发的内置任务、容器、转换和数据适配器。可以创建SSIS 解决方案来使用ETL 和商业智能解决复杂的业务问题,管理SQL Server 数据库以及在SQL Server 实例之间复制SQL Server 对象。

(四)数据库中存储过程示例(SSIS应用过程中需要的,最好拿个本子把需要的内容记下)在SQL SERVER 2005中,以SSISDataBase数据库作为应用,仅包括2张表City,Province.(主要是为了简单,便于讲解)

其中存储过程如下:

ALTER PROCEDURE [dbo].[ProvinceSelectedCityInfo]

(

@provinceId int=0

)

as

begin

select P.EName as 省份拼音,https://www.wendangku.net/doc/d512097745.html,ame as 省份名,https://www.wendangku.net/doc/d512097745.html,ame as 城市名from City C left join Province P

on C.ProvinceId = P.ProvinceId

where C.ProvinceId =@provinceId and @provinceId is not null or @provinceId is null or @provinceId=0

end

其中,在这一步中我们必须要记住相关的内容,如上标识(红色);为什么这么做?主要是在制作SSIS包的时候很容易混淆,建议拿个本子把需要的内容写好。

(五)Excel模板的制作(这步这么简单,稍微介绍一下)

因为SSIS中列映射对应的是Excel的标题,与数据是一对一的关系。先不管这么多,看下我们的模板,如下图所示。我们应该能够发现,省份拼音、省份名、城市名,还有ProvinceCityInfoExcel.xls,Sheet1都被笔者标识了,当然这一步与数据库中的存储过程取出的数据也是一对一的。(名称一致,可以减少很多不必要的麻烦,不然的话,嘿嘿.自己去想,那不是哥的事)

等下,需要将创建的EXCEL模板放置到我们的项目文件目录中。(详见第七步)

(六)SSIS操作过程(生成Package,用来调用)

这一步是最主要的过程,当然,也是很容易出错的一步。笔者会另外详细介绍制作Package包的过程,本文将直接将生成的包放到VS项目中进行运用。

利用SQL Server 2005数据库自带的SQL Server Business Intelligence Development Studio (SQL Server商业智能开发平台),最终生成的项目如下图所示:

然后,将在SSIS项目中生成的Package.dtsx包复制到自己的项目文件目录中。这就是我们马上进入的步骤了---->(步骤七)

(七)C#中调用SSIS创建的Package和Excel模板(可以自己编写逻辑代码进行重复利用),用来生成Excel数据

先看下我们的VS2008项目,如下图所示:

大家会发现,笔者将(五)(六)步骤生成的模板和Package包放置在项目中的“Excel导出”目录下,当然这些文件随便你放在哪里,这是不用再废话的,哈哈。

另外,笔者简单的设计了如下很粗糙的界面,目的是根据省份来显示城市的相关信息(其实大家都是很熟悉这些的,很多项目都是有省-市-县数据库表的),添加一个导出按钮,点击的时候,我们可以参考页面显示的内容和我们生成的客户端Excel中的内容是否一致。

现在我们的重头戏开始了,如下代码(点击将触发的代码内容):

public string OutputExceles(string strTitle, string FilePath, string typeName, System.Data.DataTable dtList, string smallTitleList)

{

beforeTime = DateTime.Now;

Excel.Application excel;

Excel._Workbook xBk;

Excel._Worksheet xSt;

int rowIndex = 1;

int colIndex = 1;

excel = new Excel.ApplicationClass();

xBk = excel.Workbooks.Add(true);

xSt = (Excel._Worksheet)xBk.ActiveSheet;

int add=0;

foreach (System.Data.DataTable dt in dtList)

{

colIndex = 1;

//取得整个报表的标题

excel.Cells[rowIndex , 1] = smallTitle[add];

add++;

////设置整个报表的标题格式

xSt.get_Range(excel.Cells[rowIndex, 1], excel.Cells[rowIndex , dt.Columns.Count]).Font.Bold = true;

xSt.get_Range(excel.Cells[rowIndex, 1], excel.Cells[rowIndex , dt.Columns.Count]).Font.Size = 22;

////设置整个报表的标题为跨列居中

xSt.get_Range(excel.Cells[rowIndex , 1], excel.Cells[rowIndex , dt.Columns.Count]).Select();

xSt.get_Range(excel.Cells[rowIndex , 1], excel.Cells[rowIndex, dt.Columns.Count]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenterAcrossSelection;

rowIndex++;

foreach (DataColumn col in dt.Columns)

{

excel.Cells[rowIndex, colIndex] = col.ColumnName;

//设置标题格式为居中对齐

xSt.get_Range(excel.Cells[rowIndex, colIndex], excel.Cells[rowIndex, colIndex]).Font.Bold = true;

xSt.get_Range(excel.Cells[rowIndex, colIndex], excel.Cells[rowIndex, colIndex]).HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter;

xSt.get_Range(excel.Cells[rowIndex, colIndex], excel.Cells[rowIndex, colIndex]).Select();

xSt.get_Range(excel.Cells[rowIndex, colIndex], excel.Cells[rowIndex, colIndex]).Interior.ColorIndex = titleColorindex;

colIndex++;

}

//取得表格中的数据

foreach (DataRow row in dt.Rows)

{

rowIndex++;

colIndex = 1;

foreach (DataColumn col in dt.Columns)

{

if (col.DataType == System.Type.GetType("System.DateTime"))

{

if (!string.IsNullOrEmpty(row[col.ColumnName].ToString()))

{

excel.Cells[rowIndex, colIndex] = (Convert.ToDateTime(row[col.ColumnName].ToString())).ToString("yyyy-MM-dd");

xSt.get_Range(excel.Cells[rowIndex, colIndex], excel.Cells[rowIndex, colIndex]).HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter; }

}

else if (col.DataType == System.Type.GetType("System.String"))

{

excel.Cells[rowIndex, colIndex] = "'" + row[col.ColumnName].ToString();

xSt.get_Range(excel.Cells[rowIndex, colIndex], excel.Cells[rowIndex, colIndex]).HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter;r; } else

{

excel.Cells[rowIndex, colIndex] = row[col.ColumnName].ToString();

xSt.get_Range(excel.Cells[rowIndex, colIndex], excel.Cells[rowIndex, colIndex]).HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter; } colIndex++;

}

}

rowIndex ++;

}

afterTime = DateTime.Now;

https://www.wendangku.net/doc/d512097745.html, = strTitle;

string filename = typeName + DateTime.Now.ToString("yyyyMMdd") + ".xls";

// excel.Save(FilePath+filename);

excel.ActiveWorkbook.SaveCopyAs(FilePath + filename);

#region 结束Excel进程

xBk.Close(null, null, null);

excel.Workbooks.Close();

excel.Quit();

#endregion

return filename;

}

你肯定会说:“哥,你这个也太简单了吧?”。就是这么简单,不就是多写一个类给你调用就可以了吗。调用接口,这个你总会吧。不过你得了解各个参数才行。

首先,我们必须引用2个DLL,Microsoft.SQLServer.ManagedDTS.dll和Microsoft.SqlServer.DTSPipelineWrap.dll(系统自带的)。先看下我们生成Excel文件数据的步骤,如下:

///

/// 导出数据到EXCEL文件中

///

///

/// 执行包的传入参数

/// 生成的Excel的文件

/// SSIS包名称

/// SSIS EXCEL模板名称

/// 生成的Excel的文件前缀

///

public bool ExportDataBySsis(string rootPath, string sqlParams, out string tempExcelName, string packageName, string execlFileName, string createdExeclPreName) {

//数据包和EXCEL模板的存储路径

string path = rootPath + @"Excel导出\";

//强制生成目录

if (!System.IO.Directory.Exists(path)) System.IO.Directory.CreateDirectory(path);

//返回生成的文件名

string copyFile = this.SaveAndCopyExcel(path, execlFileName, createdExeclPreName);

tempExcelName = copyFile;

//SSIS包路径

string ssisFileName = path + packageName;

//执行---把数据导入到Excel文件

return ExecuteSsisDataToFile(ssisFileName, tempExcelName, sqlParams);

}

代码注释如此清楚,想必也不需要再多做解释了吧,下面就是最最最重要的一步,需要看清楚了----->

private bool ExecuteSsisDataToFile(string ssisFileName, string tempExcelName, string sqlParams) {

Application app = new Application();

Package package = new Package();

//加载SSIS包

package = app.LoadPackage(ssisFileName, null);

//获取数据库连接字符串

package.Connections["AdoConnection"].ConnectionString = https://www.wendangku.net/doc/d512097745.html,mon.SystemConst.ConnectionString;

//目标Excel属性

string excelDest = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=\"EXCEL 8.0;HDR=YES\";", tempExcelName);

package.Connections["ExcelConnection"].ConnectionString = excelDest;

//给参数传值

Variables vars = package.Variables;

string str = vars["用户::SqlStr"].Value.ToString();

vars["用户::SqlStr"].Value = sqlParams;

//执行

DTSExecResult result = package.Execute();

if (result == DTSExecResult.Success){

return true;

}

else{

if (package.Errors.Count > 0){

//在log中写出错误列表

StringBuilder sb=new StringBuilder();

for (int i = 0; i < package.Errors.Count; i++){

sb.Append("Package error:" + package.Errors[i].Description +";");

}

throw new Exception(sb.ToString());

}

else{

throw new Exception("SSIS Unknow error");

}

return false;

}

}

上面标注为红色的就是最重要的几个步骤了,相对来说,就是(1)加载包,(2)设置包的数据库连接串,(3)设置Excel的连接串,(4)设置参数变量,(5)执行操作

其次是如何巧妙的将Excel模板复制,使模板可以重复利用(当然也要注意将生成的文件下载到客户端后,将服务器上生成的Excel临时文件删除,你也可以写自己的算法进行清理不必要的Excel临时文件),如下代码所示,方法将复制模板,然后返回生成的临时文件的路径,如果需要删除该文件,System.IO.File.Delete(filePath)就可以删除文件了:

讲了这么多,来看下我们点击后生成的效果,

开始有点效果了,Excel终于可以下载到客户端了,我们保存该文件。我们是不是想核实一下,我们采用的SSIS方法来实现Excel数据导入是不是正确的,会不会生成错误的数据?

那我们看下下面的一张图,将它与上面的一张图比较一下,看下数据是不是一样的:

发现生成的数据是一模一样的。我们是将数据导入到服务器上的临时EXCEL文件中,将文件发送到客户端肯定是不会出错的,除了你RP太差以外。RP差,任何事情都可能发生,嘿嘿。

(八)总结

在上面的示例中,由于数据量不是太多,你还感觉不到该方法的优势(效率高)。但是当数据量很大的时候,你用其他方法还在那里慢慢地等待excel文件生成的时候,该方法早就已经将数据导入到Excel中,并且发送到客户端了。有时候时间相差几十秒也是有可能的。数据量越大,效果越明显..

接下来笔者将在另外一篇随笔中详细讲解SSIS package包的制作过程。这篇主要是SSIS 应用篇。

希望各位能够在本随笔中有所收获。一口气写下来,还真不容易,写文章确实挺锻炼人的。当然,本文中肯定还有很多不足之处,希望各位多多指教。

您看完此刻的感受是!已有0人表态:

惊呀欠揍支持很棒愤怒搞笑恶心不解

-

QQ书签雅虎收藏百度搜藏Google书签和讯网摘天天网摘收客收藏我摘收藏订阅到鲜果

点击进入论坛和大家一起交流设计,分享设计素材,结交设计朋友上一篇资讯:https://www.wendangku.net/doc/d512097745.html,页面生命周期的整体把握

下一篇资讯:C# 抓取网页里面的所有链接!

推荐给你的朋友阅读:相关资讯相关文章C# 抓取网页里面的所有链接!

Jquery打造AdRotator轮转图片

https://www.wendangku.net/doc/d512097745.html,与Jquery 验证用户名是否存在

实战剖析三层架构(一)

实战剖析三层架构(二)实例代码

相关专题https://www.wendangku.net/doc/d512097745.html, 分页显示控件(附源码实例)

团队开发一个https://www.wendangku.net/doc/d512097745.html,网站需要注意的规范和细节

CustomValidat 自定义控件调用javascript方法

DES加密/解密类

详解https://www.wendangku.net/doc/d512097745.html, MVC分页的实现方法

网学推荐

·原创论文,您最好的参考论文!

·法学原创论文进入查看!

·论文问题解答,站长来答

·设计论文,论文参考提交QQ:3710167

·就业专题,提成高,上行首选

·招聘论文指导和程序员!

·想查什么论文都有,来来!

·网学软件评测,免费下载使用!

·网学万能搜索,包括10多种搜索

·自助收录,游戏网站,想玩吗

·设计下载,大量设计论文和源代码

·baidu和google一起搜索

免费论文·免费论文首页

·点击论文排行首页

·最新论文首页

·纪念改革开放30周年论文

·教育实习个人总结

·美国加州基础教育启示及借鉴

·俄罗斯现行中学几何教材的比较分析

·论网络信息资源管理

·计算机专业毕业论文(设计)参考选题2

·供应链应用的模式有哪些?

·VC++ 课程设计-高校成绩管理系统

·病人随访系统的设计与实现

·反思:教师专业发展的应有之举

原创论文·学籍管理系统设计

·从《边城》看沈从文的人性美

·学生成绩管理系统

·浅谈铁路工务班组建设与管理

·酒店管理系统

·人事工资管理系统

·护理工作中人际沟通与人际关系处理·(VFP)仓库管理系统(论文+源程序+可

·情系边城------浅析沈从文《边城》中

·铁路中间站调车作业安全分析及对策研究

·vb程序设计-俄罗斯方块游戏

文章排行榜·https://www.wendangku.net/doc/d512097745.html, 分页显示控件(附源码实例·团队开发一个https://www.wendangku.net/doc/d512097745.html,网站需要注意的·CustomValidat 自定义控件调用java

·DES加密/解密类

·详解https://www.wendangku.net/doc/d512097745.html, MVC分页的实现方法

·dataset 与datareader 的区别

·Net常用代码和常见问题解答(系列)

·浅谈简单生成静态页面的思路

·.NET简单实现进度条(附源代码)

·简单实现AjaxPro版自动完成Autocom

·在客户端遍历控件

·详解.NET页面打印技术【推荐】

·如何循序渐进向dotnet架构师发展

·一步步构建“半自动”数据分页模块

·获取天气信息

·概括C#删除数组重复项

·https://www.wendangku.net/doc/d512097745.html,中加密狗代码

·关于https://www.wendangku.net/doc/d512097745.html,项目解决方案拆分与部署

浏览:

设为首页| 加入收藏| 论文首页| 论文专题| 设计下载| 网学软件| 论文模板| 论文资源| 程序设计| 关于网学| 站内搜索| 网学留言| 友情链接| 资料中心版权所有电话:013574892963 QQ:3710167 邮箱:Educs@https://www.wendangku.net/doc/d512097745.html, 网学网[https://www.wendangku.net/doc/d512097745.html,] 您电脑的分辨率是1366 x 768 像素

Copyright 2008-2015 https://www.wendangku.net/doc/d512097745.html, All Rights Reserved

湘ICP备09003080号您需要论文服务吗?: 我要做个毕业设计我要做原创论文我要做原创论文我需要论文设计代码我要做定作论文我要做ASP,PB程序定作24小时服务QQ 热线:3710167

论文咨询您好,欢迎光临网学网请问,有什么可以帮到您的吗?需要原创论文,ASP/NET/JSP/PB/VB/VFP设计,论文定作,修改论文吗?

本文来自网学(https://www.wendangku.net/doc/d512097745.html,),转载请注明出处:https://www.wendangku.net/doc/d512097745.html,/lunwen-resource/Net-biancheng/xiaolvzuigaode-Excel-shujudaoru-c-tiaoyong -SSIS-Package-jiangshujukushujudaorudao-Excel-wenjianzhong-fuyuandaima-download_85b2421 a/

https://www.wendangku.net/doc/d512097745.html,/lunwen-resource/Net-biancheng/xiaolvzuigaode-Excel-shujudaoru-c-tiaoyong -SSIS-Package-jiangshujukushujudaorudao-Excel-wenjianzhong-fuyuandaima-download_85b2421 a/

vfp直接读取EXCEL文件示例

vfp直接读取EXCEL文件示例 vfp直接读取EXCEL文件的示例(转)。 M_File=GETFILE('xls','订单文件') IF M_File="" =MESSAGEBOX("请选择待导入的收订单文件!",0+48,"提示") RETURN ELSE IF JUSTEXT(M_FILE)#"XLS" &&获得文件扩展名 =MESSAGEBOX("您选择的不是EXCEL文档!",0+48,"提示") RETURN ENDIF ENDIF USE 图书订单表 ZAP myexcel=createobject('excel.application') &&创建一个对象 myexcel.visible=.f.&&不可见 bookexcel=myexcel.workbooks.open(M_File) &&打开指定文件 o_SheetName=https://www.wendangku.net/doc/d512097745.html,&&获取当前激活工作表的名称UsedRange =bookexcel.worksheets(o_SheetName).UsedRange&&返回工作表中可使用的区域,UsedRange表的属性 o_rows=UsedRange.rows.count&&汇总行 o_cols=UsedRange.columns.count&&汇总列 IF o_rows<=1 =MESSAGEBOX("待导入数据行数太少,请检查!",0+16,"提示") ELSE FOR i=2 TO o_rows m1=myexcel.cells(i,1).value &&书号 m2=myexcel.cells(i,2).value &&书名 m3=myexcel.cells(i,3).value &&出版社 m4=myexcel.cells(i,4).value &&作者 m5=myexcel.cells(i,5).value &&定价 m6=myexcel.cells(i,6).value &&数量 APPEND BLANK REPLACE 书号WITH m1,书名WITH m2,出版社WITH m3,作者WITH m4,定价WITH m5,数量WITH m6 ENDFOR ENDIF myexcel.workbooks.close&&关闭工作区 myexcel.quit&&关闭excel brow

JSP中导入导出Excel文件

JSP中导入导出Excel文件 一.POI简介 Jakarta POI 是apache的子项目,目标是处理ole2对象。它提供了一组操纵Windows文档的Java API 目前比较成熟的是HSSF接口,处理MS Excel(97-2002)对象。它不象我们仅仅是用csv生成的没有格式的可以由Excel转换的东西,而是真正的Excel 对象,你可以控制一些属性如sheet,cell等等。 二.HSSF概况 HSSF 是sHorrible SpreadSheet Format的缩写,也即“讨厌的电子表格格式”。也许HSSF的名字有点滑稽,就本质而言它是一个非常严肃、正规的API。通过HSSF,你可以用纯Java代码来读取、写入、修改Excel文件。 HSSF 为读取操作提供了两类API:usermodel和eventusermodel,即“用户模型”和“事件-用户模型”。前者很好理解,后者比较抽象,但操作效率要高得多。 三.开始编码 1 .准备工作 要求:JDK 1.4+POI开发包 可以到 https://www.wendangku.net/doc/d512097745.html,/dyn/closer.cgi/jakarta/poi/ 最新的POI工具包 2 . EXCEL 结构 HSSFWorkbook excel 文档对象介绍 HSSFSheet excel的表单 HSSFRow excel的行 HSSFCell excel的格子单元 HSSFFont excel字体 HSSFName 名称 HSSFDataFormat 日期格式 HSSFHeader sheet头 HSSFFooter sheet尾 和这个样式 HSSFCellStyle cell样式

在VFP中直接来控制Excel

Example: SET DEFAULT TO c:\ clear oleapp=createobject("excel.application") oleapp.visible=.t. && 显示Excel oleapp.workbooks.add **设单元格的值(报表标题): oleapp.cells(1,1).value="aaa" oleapp.cells(1,2).value="bbb" oleapp.cells(1,3).value="ccc" oleapp.cells(1,4).value="ddd" oleapp.cells(1,5).value="eee" **打开表并取得记录数 USE c:\bank\data\zyb.dbf SHARED jl=reccount()-1 &&记录数 **将表中的记录数据放到Excel工作簿的单元格中 for i=0 to jl go i+1 &&第i+1条记录 oleapp.cells(2+i,1).value=zyb.bh oleapp.cells(2+i,2).value=zyb.xm oleapp.cells(2+i,3).value=zyb.kl oleapp.cells(2+i,4).value=1+1 endfor oleapp.activeworkbook.saveas("C:\Documents and Settings\Administrator\桌面\KL.xls") * oleapp.activeworkbook.saveas(?) ********************************************************* 利用VFP进行处理数据,而利用Excel的预览打印功能进行报表打印。这就需要我们在VFP中直接来控制Excel。下面就在开发VFP应用项目时对Excel的控制作一下介绍: 1.创建Excel对象 eole=CREATEOBJECT(′Excel.application′) 2.添加新工作簿 eole.Workbooks.add 3.设置第3个工作表为激活工作表 eole.Worksheets(″sheet3″).Activate 4.打开指定工作簿 eole.Workbooks.Open(″c:\temp\ll.x ls″) 5.显示Excel窗口 eole.visible=.t. 6.更改Excel标题栏 eole.Caption=″VFP应用程序调用Microsoft Excel″ 7.给单元格赋值 eole.cells(1,4).value=XM(XM为数据库字段名) 8.设置指定列的宽度(单位:字符个数)

Java实现Excel数据导入和导出的研究与应用

Java实现Excel数据导入导出的研究与应用 王晶晶 北京邮电大学网络教育学院(100088) E-mail:bolalisi_double@https://www.wendangku.net/doc/d512097745.html, 摘要:Excel能够通过功能强大的工具将杂乱的数据组织成有用的信息,然后分析、交流和共享所得到的结果。很多系统由于存在着大量需要处理的数据,Excel本身强大的功能使得它成为处理分析这些数据首选的工具。随着Java语言成为越来越多系统的开发语言,利用Java进行Excel的数据导入导出在很多系统中都发挥着重要的作用,本文主要介绍了Jxl API的主要功能,并结合实例探讨了利用Jxl API操作Excel数据的导入和导出。 关键字:Java;Excel; Jxl API;数据导入导出 中图分类号:TP312文献标识码:A 1. 引言 MS的电子表格(Excel)是Office的重要成员,是保存统计数据的一种常用格式。在一个Java应用中,将一部分数据生成Excel格式,是与其他系统无缝连接的重要手段。在远程网络教学系统中,利用Excel表格统计学生的作业考试情况信息,便于老师了解学生的学习情况,分析教学效果,制定教学计划。所以,用Java操作Excel表格,导出相关的信息对于远程网络教育系统有着的很重要的意义。 在开源世界中,有两套比较有影响的API提供Excel数据导入导出的功能,一个是POI,一个是jExcelAPI。本文结合基于J2EE开发的多媒体教学系统中提供的将学生作业信息导出到Excel表格中的实例,详细阐述了利用JAVA开发的jExcelAPI操作excel的方法。 2. Jxl 简介 2.1 Java语言简介 Java语言具有面向对象、与平台无关、安全、稳定和多线程等优良特性,是目前软件设计中极为强大的编程语言[1]。它具有以下一些特点[2]:简单,面向对象,分布式,解释执行,鲁棒,安全,体系结构中立,可移植,高性能,多线程以及动态性。 2.2什么是Jxl Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该 API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、 Servlet来调用API实现对Excel数据表的访问。 Jxl发布的稳定版本是V2.0,提供以下功能: 从Excel 95、97、2000等格式的文件中读取数据[3]; 读取Excel公式(可以读取Excel 97以后的公式)[3];

.NET页面数据导出excel表方法

public void CreateExcel(DataSet ds,string typeid,string FileName) { HttpResponse resp; resp = Page.Response; resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); resp.AppendHeader("Content-Disposition", "attachment;filename=" + FileName); string colHeaders= "", ls_item=""; int i=0; //定义表对象与行对像,同时用DataSet对其值进行初始化 DataTable dt=ds.Tables[0]; DataRow[] myRow=dt.Select(""); // typeid=="1"时导出为EXCEL格式文件;typeid=="2"时导出为XML格式文件if(typeid=="1") { //取得数据表各列标题,各标题之间以\t分割,最后一个列标题后加回车符for(i=0;i colHeaders+=dt.Columns[i].Caption.ToString()+"\t"; colHeaders +=dt.Columns[i].Caption.ToString() +"\n"; //向HTTP输出流中写入取得的数据信息 resp.Write(colHeaders); //逐行处理数据 foreach(DataRow row in myRow) { //在当前行中,逐列获得数据,数据之间以\t分割,结束时加回车符\n for(i=0;i ls_item +=row[i].ToString() + "\t"; ls_item += row[i].ToString() +"\n"; //当前行数据写入HTTP输出流,并且置空ls_item以便下行数据 resp.Write(ls_item); ls_item=""; } } else { if(typeid=="2") { //从DataSet中直接导出XML数据并且写到HTTP输出流中 resp.Write(ds.GetXml()); } } //写缓冲区中的数据到HTTP头文件中 resp.End(); }

从SQL Server中导入导出Excel的基本方法

从sql server中导入/导出excel 的基本方法 /*=========== 导入/导出excel 的基本方法===========*/ 从excel文档中,导入数据到sql数据库中,很简单,直接用下面的语句: /*=============================================*/ --假如接受数据导入的表已存在 insert into 表select * from openrowset(microsoft.jet.oledb.4.0 ,excel 5.0;hdr=yes;database=c:test.xls,sheet1$) --假如导入数据并生成表 select * into 表from openrowset(microsoft.jet.oledb.4.0 ,excel 5.0;hdr=yes;database=c:test.xls,sheet1$) /*===========================================*/ --假如从sql数据库中,导出数据到excel,假如excel文档已存在,而且已按照要接收的数据创建好表头,就能够简单的用: insert into openrowset(microsoft.jet.oledb.4.0 ,excel 5.0;hdr=yes;database=c:test.xls,sheet1$) select * from 表 --假如excel文档不存在,也能够用bcp来导成类excel的文档,注意大小写: --导出表的情况 exec master..xp_cmdshell bcp 数据库名.dbo.表名out "c:test.xls" /c -/s"服务器名" /u"用户名" -p"密码" --导出查询的情况 exec master..xp_cmdshell bcp "select au_fname, au_lname from pubs..authors order by au_lname" queryout "c:test.xls" /c -/s"服务器名" /u"用户名" -p"密码" /*--说明: c:test.xls 为导入/导出的excel文档名. sheet1$ 为excel文档的工作表名,一般要加上$才能正常使用. --*/ --上面已说过,用bcp导出的是类excel文档,其实质为文本文档, --要导出真正的excel文档.就用下面的方法

从VFP中导出数据的几种方法

从VFP中导出数据的几种方法 出处:网络 当VFP处理好数据后,这时你可以用多种方法将这些数据导出,以便被其它应用程序(如Excel等)所用。下面向你简单介绍几种导出数据的方法: 1.用“导出数据”对话框。你可以从VFP主菜单中选择“文件/导出…”打开“导出”对话框,在该对话框中的“来源”框中输入表名(c:vfpstudents.dbf),在“类型”中指定要导出数据的类型(Microsoft Excel),在“到”框中输入导出的路径和文件名(C:excelaa.xls),然后按“确定”即可。这时你如果查看command窗口,可发现以下代码: COPY TO C:excelaa.XLS TYPE XL5 2.用COPY TO命令。COPY TO命令的工作对象是VFP中的表,它要依据“TYPE”项才知道要产生哪一类导出文件。对于上面的导出过程,可用以下方法实现:USE students COPY TO C:excelaa.XLS TYPE XL5 3.用SET ALTERNATE TO写入ASCⅡ文件。用该命令可以把屏幕上的内容导出,导向一个文件,下面例子可以将系统状态输入到status.txt文件中: SET ALTERNATE TO status.txt SET ALTERNATE ON SET CONSOLE OFF ?“系统状态”+DTOC(DATE())+“@”+TIME() LIST STATUS SET ALTERNATE OFF SET CONSOLE ON 4.用SET PRINTER TO命令。用该命令可把打印输出到文本文件中: SET PRINTER TO hello.txt SET PRINT ON ???CHR(27)+“广大计算机爱好者” ??“你们好!” ?“祝你们新年快乐” SET PRINT OFF 5.用REPORT FORM TO FILE命令。运行报表的REPORT命令有许多选项,把报表输出保存到文件中的方法为: REPORT FORM(报表名)TO FILE(文件名)

用Excel获取网页内容的方法

在浏览网页时,你一定会不时看到一些需要保存的数据信息。这些信息或许是一个完整的表格,或许是一段文字,如果要保存这类信息,我们常用的方法就是拖动鼠标,选中这些信息,然后用Ctrl+C组合键复制文字,然后再保存到Word、Excel当中去。 这样的步骤算不上麻烦,但如果要求你在一个个内容丰富的大网页(比如新浪、网易、Sohu首页)中频繁地复制、粘贴,一定会让你感到疲劳和浪费时间。有什么好办法呢?用“Ctrl+A”全选后复制所有文字?粘贴后你会发现麻烦更大,因为所有文字都堆在一起了!下面,理睬教你一种方便的方法。 实例:抓取新浪首页不同位置内容 第一步:打开IE,访问理睬博客首页https://www.wendangku.net/doc/d512097745.html,/ 。 第二步:在网页左侧或右侧的空白处点击鼠标右键,在菜单中选择“导出到Microsoft Office Excel”。注意,不要在文字链接之间的空白处点右键,而是应该在完全没有任何网页内容的地方点右键。 第三步:这时Excel会启动,并出现一个“新建Web查询”的窗口。稍等片刻,等待这个窗口中显示出了完整网页,左下角会出现“完毕”字样。注意观察网页,你会发现网页被分割成了很多小的表格,每个表格的左上角有一个小的箭头标志。 第四步:双击窗口最上方标题栏,最大化窗口。依次找到要收藏的内容,然后按下该位置左上角的箭头,使它变成绿色的对勾。然后按下下方的“导入”按钮。 第五步:在弹出窗口中选择放置位置,然后按下“确定”按钮,文字、表格信息就可以自动导入Excel 了。字体格式、颜色自动处理为Excel默认的样式,表格也会被放到适当的单元格中。这样,就有效避免了直接复制粘贴网页造成一些无法识别的格式、链接信息加入网页,同时提高了导入速度。 你知道吗? 如何不将网页格式带入Office文档中? 当你在浏览器中复制一段内容,然后粘贴到Word、Excel中,会将一些网页格式直接照搬进来,这可能不是我们希望的,因为它会增大文件体积,也不利于加工整理。其实,你只要不用“Ctrl+V”来粘贴,而是选择Word、Excel中的“编辑→选择性粘贴→文本”来进行粘贴就可以了。

VFP数据导出到EXCEL技术

VFP数据导出到EXCEL技术 VFP数据导出到EXCEL技术 我们都知道在EXCEL 中有很多很多的计算公式、灵活多变的计算方式、方便快捷的图表处理、和功能强大的VBA 语言,可以说EXCEL 可能是最好用的表格处理软件。我敢说:微软的产品中大概就EXCEL 最好! 但是,怎样用Foxpro 快速产生统计表,并将数据送到Excel 表格中,从而代替Foxpro 的报表工具呢? 我们大家都知道,在Visual Foxpro 3.0及以后版本中提供了一个调用Ole Automation 的函数CREATEOBJECT,用该函数可以让Visual Foxpro 很方便的和其它可以提供Ole Automation 服务的程序进行通讯。而Excel 更是一个标准的Ole Automation 服务器程序,我们可以在前端将数据传送到后端的Excel 服务程序,用后端服务程序进行表格处理,从而弥补Visual Foxpro的不足。由于历史原因,我们作报表都习惯用Total、Count、Sum 或者直接在报表中工具中计算,速度最快的大概也就是Total 了,但不知道还有多少人还在坚持使用Total 命令进行计算,有没有更好的计算方法呢?当然有啦!我在实际使用中积累有一定的经验但愿能给各位起到小小的启发。 假设有一表:Table1 是一个人员档案,里面的表结构如下:

-----字段名--类型及长度---------编号C,2 部门C,10 姓名C,10 性别C,2 出生日期 D 职务C,10 文化程度C,10 内容大概如下 TABLE1.DBF ------------------------- --------编号部门姓名性别出生日期职务 文化程度---------------------------------1 工程部张三男1971-01-11 工程师大学本科 2 销售部李四男1967-02-23 经理大学本科 3 工程部王武1954-03-14 技术员大学专科4 总经理室赵洁雅女1975-04-05 秘书硕士研究生5 销售部..1977-05-09 销售经理高中 6 工程部大文 1969-03-30 总工程师大学专科7 销售部..1961-10-10 销售经理大学专科8 总经理室庄稼1961-10-10 总经理大学专科当然实际的数据应该比这里多很多,要不还用统计干吗,我不过是举例说明而已。我不知道你们在使用SQL

Excel数据导入教程

Excel模板数据导入教程 Excel模板数据导入教程 Excel导入模板中的数据既可以直接在我们提供的模板文件中录入,列标题中有红色“(必填)”文字的列必须要填写,其它列根据实际需求可以不填写,换算比率、销售价格、库存数量、成本价这些数字列如果要导入的话,一定是纯数字格式,必须要填写而且不能包括任何汉字或字母。 库存数量与成本价必须是以基本计量单位核算录入,也就是以最小计量单位核算录入。 如果从管家婆、速达等进销存软件中导出到Excel文件,一定要修改导出的Excel文件格式,否则肯定不能正常识别和导入,修改的要求如下: 1、Excel导入模板文件扩展名必须为xls,如果为其它扩展名,必须双击打开模板文件,然后另存为“Excel97-2003工作簿(*.xls)”格式的文件; 2、窗口左下角的工作薄名称必须为“Sheet1”,管家婆或速达导出来的工作薄名称一般为其它名称,必须要修改为Sheet1,请见以下截图; 3、第一行必须为列名,第二行开始必须为要导入的正式数据,请见以下截图;

附上一张标准的导入模板数据截图 本教程只演示怎么导入在我们提供的Excel导入模板中录入的数据,如果从管家婆或速达等进销存软件导出来的数据,导入方式大同小异,只是列名或列的数量不一致而已; 在导入之前一定要关闭要导入的Excel模板文件,否则因为独占模式导致导入时无法识别模板文件中的数据。 产品资料导入 产品资料模板中包括“产品资料基础信息、销售价格、库存记录”3部分内容,需要将同一个产品资料模板文件分3步分别导入,如果有辅助计量单位的销售价格也需要导入,那么需要分4步分别导入。 在导入的模板中如果包括软件中已存在的产品资料记录,一定要在导入窗口将 下拉框选择,这样就不会将相同的记录重复导入到软件中。 第一步:既可以在软件初次使用向导窗口中点击“产品资料导入”按钮,也可以在“基础数据----产品资料”列表窗口点击“Excel导入”菜单,弹出产品资料导入窗口,先选择要导入的Excel模板文件,然后根据要导入的列,按照以下截图设置要导入的列,在第一步中只能导入产品资料的基础数据,销售价格和库存记录在以下步骤中导入。

VFP数据导出到EXCEL技术.

VFP数据导出到EXCEL技术 我们都知道在 EXCEL 中有很多很多的计算公式、灵活多变的计算方式、方便快捷的图表处理、和功能强大的VBA 语言,可以说 EXCEL 可能是最好用的表格处理软件。我敢说:微软的产品中大概就 EXCEL 最好! 但是,怎样用 Foxpro 快速产生统计表,并将数据送到 Excel表格中,从而代替 Foxpro 的报表工具呢? 我们大家都知道,在 Visual Foxpro 3.0及以后版本中提供了一个调用Ole Automation 的函数 CREATEOBJECT,用该函数可以让 Visual Foxpro 很方便的和其它可以提供 Ole Automation 服务的程序进行通讯。而 Excel 更是一个标准的 Ole Automation 服务器程序,我们可以在前端将数据传送到后端的 Excel 服务程序,用后端服务程序进行表格处理,从而弥补 Visual Foxpro的不足。 由于历史原因,我们作报表都习惯用 Total、Count、Sum 或者直接在报表中工具中计算,速度最快的大概也就是 Total 了,但不知道还有多少人还在坚持使用 Total 命令进行计算,有没有更好的计算方法呢?当然有啦!我在实际使用中积累有一定的经验但愿能给各位起到小小的启发。 假设有一表:Table1 是一个人员档案,里面的表结构如下: -----字段名--类型及长度--------- 编号C,2 部门C,10 姓名C,10 性别C,2 出生日期 D 职务C,10 文化程度C,10 内容大概如下 TABLE1.DBF --------------------------------- 编号部门姓名性别出生日期职务文化程度 --------------------------------- 1 工程部张三男1971-01-11 工程师大学本科 2 销售部李四男1967-02-2 3 经理大学本科 3 工程部王武1954-03-1 4 技术员大学专科 4 总经理室赵洁雅女1975-04-0 5 秘书硕士研究生 5 销售部..1977-05-09 销售经理高中 6 工程部大文1969-03-30 总工程师大学专科 7 销售部..1961-10-10 销售经理大学专科 8 总经理室庄稼1961-10-10 总经理大学专科 当然实际的数据应该比这里多很多,要不还用统计干吗,我不过是举例说明而已。我不知道你们在使用 SQL 语句时有没有用使用函数的习惯,反正我是相

NC Excel导入导出参考

NC导入导出参考 数据字典: ID userid char pk null 用户编码usercode char null 用户姓名username char null 用户密码password char null 职位名称postname char null 部门vdeptid char null 公司pk_corp char null ---------------------------------------------------------------------------------------------------------------------- UI界面: ---------------------------------------------------------------------------------------------------------------------- 说明:界面中导入导出按钮自己添加,VO自己搞定,本书仅供参考,如有问题自己解决 导出Excel按钮: UserExcelExport export = new UserExcelExport(); // 界面没有数据或者有数据但是没有选中任何行 if (getBufferData().getCurrentVO() == null) return; JFileChooser jfile = new JFileChooser(); jfile.setDialogType(JFileChooser.SA VE_DIALOG); / / 打开文件 if (jfile.showSaveDialog(new UserBillCardUI()) == vax.swing.JFileChooser.CANCEL_OPTION) return; // 文件名 String file = jfile.getSelectedFile().toString(); //返回单据表体当前被选中的VO,如果没有则返回null getBillCardPanelWrapper().getSelectedBodyVOs(); UserVO[] uvos = (UserVO[]) getBillCardPanelWrapper().getSelectedBodyVOs();// export.export(uvos, file);//进行导出操作

网页数据如何简单导出excel

https://www.wendangku.net/doc/d512097745.html, 网页数据如何简单导出excel 在浏览网页时,遇到我们需要的网页数据时,如文字、图片等,如何能简单的导出到Excel 中,方便在本地电脑中查看和编辑呢?当然是有办法的啦!下面就为大家介绍几种简单快速的将网页数据导出到Excel的方法,大家可以灵活运用。 一、通过浏览器导出网页数据 具体操作:打开某网页后,右键点击网页空白处,在下拉列表中选择“另存为”,然后在弹出的保存窗口中选择保存类型为“网页全部”。选择保存位置后确定,保存后就会自动保存两个文件,一个是网址,另一个是保存网页内容元素。 如何导出网页数据,以赶集网采集为例图1

https://www.wendangku.net/doc/d512097745.html, 二、通过网页数据采集器导出网页数据 先通过网页数据采集器,将网页数据采集下来,然后再导出为需要的格式即可。本文使用的是操作简单、功能强大的八爪鱼采集器。以下是一个八爪鱼采集并导出网页数据的完整示例。示例中采集的是赶集网上房产-商铺-深圳-南山分类下的所有商铺信息。 示例网站:https://www.wendangku.net/doc/d512097745.html,/fang6/nanshan/ 步骤1:创建采集任务 1)进入主界面,选择“自定义模式” 如何导出网页数据,以赶集网采集为例图2 2)将要采集的网址URL,复制粘贴到网址输入框中,点击“保存网址”

https://www.wendangku.net/doc/d512097745.html, 如何导出网页数据,以赶集网采集为例图3 步骤2:创建翻页循环 1)在页面右上角,打开“流程”,以展现出“流程设计器”和“定制当前操作”两个板块。将页面下拉到底部,点击“下一页”按钮,在右侧的操作提示框中,选择“循环点击下一页”

VFP全面控制EXCEL(完全版)

1.创建Excel对象 oExcel=Createobject("Excel.application") 2.添加新工作簿 oExcel.Workbooks.Add 3.设置第3个工作表为激活工作表 oExcel.Worksheets("sheet3").Activate 4.打开指定工作簿 oExcel.Workbooks.Open("c:\temp\ll.xls") 5.显示Excel窗口 oExcel.Visible=.T. 6.更改Excel标题栏 oExcel.Caption="VFP应用程序调用Microsoft Excel" 7.给单元格赋值 oExcel.cells(1,4).Value=XM(XM为数据库字段名) 8.设置指定列的宽度(单位:字符个数) oExcel.ActiveSheet.Columns(1).ColumnWidth=5 9.设置指定行的高度(单位:磅) oExcel.ActiveSheet.Rows(1).RowHeight=1&&(设定行高为1磅,1磅=0.035厘米) oExcel.ActiveSheet.Rows("50:100").RowHeight=1 &&设置第50行至100行的高度 10.在第18行之前插入分页符 oExcel.Worksheets("Sheet1").Rows(18).PageBreak=1 11.在第4列之前删除分页符 oExcel.ActiveSheet.Columns(4).PageBreak=0 12.指定边框线宽度(Borders参数如下) ole.ActiveSheet.Range("b3:d3").BorderS(2).Weight=3 13.设置四个边框线条的类型 oExcel.ActiveSheet.Range("b3:d3").BorderS(2).LineStyle=1 (其中Borders参数:1-左、2-右、3-顶、4-底、5-斜、6-斜/;LineStyle值:1与7-细实、2-细虚、4-点虚、9-双细实线) 14.设置页眉 oExcel.ActiveSheet.PageSetup.CenterHeader="报表1" 15.设置页眉(字体大小) oExcel.ActiveSheet.PageSetup.CenterHeader="&50报表1" &&'&'后面的50可以自定义,表示字体的大小 16.设置页脚 oExcel.ActiveSheet.PageSetup.CenterFooter="第&P页" 17.设置页脚(字体大小) oExcel.ActiveSheet.PageSetup.CenterFooter="&28第&P页" &&'&'后面的28可以自定义,表示字体的大小 18.设置页眉到顶端边距为2厘米 oExcel.ActiveSheet.PageSetup.HeaderMargin=2/0.035 19.设置页脚到底边距为3厘米 oExcel.ActiveSheet.PageSetup.FooterMargin=3/0.035

Java数据导入导出Excel

import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.List; import jxl.Workbook; import jxl.format.UnderlineStyle; import https://www.wendangku.net/doc/d512097745.html,bel; import jxl.write.WritableFont; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WriteException; import jxl.write.biff.RowsExceededException; import https://www.wendangku.net/doc/d512097745.html,ermodel.HSSFCell; import https://www.wendangku.net/doc/d512097745.html,ermodel.HSSFCellStyle; import https://www.wendangku.net/doc/d512097745.html,ermodel.HSSFRow; import https://www.wendangku.net/doc/d512097745.html,ermodel.HSSFSheet; import https://www.wendangku.net/doc/d512097745.html,ermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; public class ExcelOpt { /** * 生成一个Excel文件jxl * @param fileName 要生成的Excel文件名 * @jxl.jar 版本:2.6 */ public static void writeExcel(String fileName){ WritableWorkbook wwb = null; try { //首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象 wwb = Workbook.createWorkbook(new File(fileName)); } catch (IOException e) { e.printStackTrace(); } if(wwb!=null){ //创建一个可写入的工作表 //Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置

Foxpro 导入文件报错:无效的 Microsoft Excel 文件格式

Foxpro 导入文件报错:"无效的Microsoft Excel 文件格式" 症状:将一个 Microsoft Excel 版本 5.0 文件导入 FoxPro 时出现"无效的 Microsoft Excel 文件格式"错误信息。 症状拓展:如果使用的是 FoxPro 2.0 ,导入 Microsoft Excel 3.0 ,4.0 或 5.0 文件设置格式,则会收到错误信息"无效的 Excel 版本 2.0 文件"。 直接原因:FoxPro 2.0 仅可以导入 Microsoft Excel 2.0 文件。 FoxPro 2.5 for MS-DOS、Windows 和 Macintosh 可以导入 Microsoft Excel 2.0、 3.0 和 4.0 格式中的文件。 溯源:FoxPro 2.5 后,才发布 for MS-DOS 和 Windows 的开发。 FoxPro for Macintosh 是大约同时为 Microsoft Excel 5.0 for Windows 开发的。因此,支持导入 Microsoft Excel 5.0 格式的文件没有内置FoxPro 2.5。 Microsoft 已经确认这是Microsoft 产品中存在的问题并正在研究此问题,当它变得可用时,将发布新的信息的 Microsoft 知识库。 解决方案:要直接导入 Microsoft Excel 5.0 工作表,必须在 Microsoft Excel 中执行变通办法。这些变通办法有:保存 Microsoft Excel 5.0 文件作为一个 Microsoft Excel 4.0、3.0 或 2.0 格式的文件,再执行导入操作。或者将 Microsoft Excel 5.0 文件保存为一个DBF 格式文件。(要点:以 DBF3 文件格式保存;此外,Microsoft Excel 3.0、 4.0 和5.0 可以以 DBF4 文件格式保存文件。)FoxPro 可以打开这些两种文件格式之一。 参考文献: FoxPro for MS-DOS 和 Windows 语言参考,版本 2.5,页 L3-569 和 L3-570 FoxPro for Macintosh 语言参考,版本 2.5,页 468-469 Microsoft Excel 用户指南 1,版本 4.0、 60、 306 和 307 页

韩小良 《Excel高效数据分析之道》

《Excel高效数据分析之道》 资深实战型Excel 培训讲师和应用解决方案专家韩小良面对浩瀚的数据,如何提炼信息,把需要的信息快速展示给客户和领导? 公司的经营状况和财务状况到底如何?预算执行情况到底如何?成本费用超支了吗? 销售收入、成本、费用是否正常?是否出现了异常情况?如何简便发现异常费用流向和预警机 制的建立? 如何即时发现资金流、销售、财务中的问题? 员工的构成分布情况如何?员工的流动情况如何?您是否为员工的不断离去伤透了脑筋而不知 其原因? 如何快速分析不同部门不同岗位等对公司的满意率,以便及时发现问题解决问题? 为什么产品的不合格率持续高位?怎样快速发现问题? 诸如此类的问题,等等,对任何一位管理者而言,是复杂而繁琐的,您想必一定很累、很烦了 吧! 您想要提高管理效率吗?想要进行科学的管理,而不是仅仅拍脑袋想问题、做决策吗? 等等…… 本课程将教会您利用Excel快速制作各种统计分析报表和图表的基本方法和技巧,还将使您的Excel使用水平提升到一个新的层次,使您的分析报告更加有说服力,更加引人注目! 课程宗旨: ●帮您树立一种正确高效使用Excel的基本理念和思路 ●为您提供一套实用高效的Excel技能和方法 课程目标: ●了解和掌握Excel数据统计分析的基本技能、技巧。 ●掌握利用Excel图表表达信息和观点的基本理念和方法。 ●掌握利用Excel绘制各种统计分析报表和图表的方法和技巧。 培训特点及收益: ●注重Excel在管理中的实际应用,培训内容紧密结合实际案例,利用大量的实际案例进行操练。 ●兼顾Excel使用方法技巧介绍和应用思路启发,注重点面结合。 ●注重强调动手实践,使每个学员有充分的动手机会,及时解决学习中的问题。 ●讲课认真、细致,辅导实验积极、耐心,使每个学员都能够掌握所讲的内容。 ●完善的课后服务,随时与老师联系,及时帮助企业学员解决实际工作中遇到的问题和难题。 课程特点: ●系统性:囊括利用Excel进行高效日常财务管理的各方面内容。 ●全面性:全面介绍了Excel工具的在日常管理中的典型应用,兼顾Excel使用方法技巧介绍和应用思路启 发,注重点面结合。 ●实用性:注重Excel在管理中的实际应用,培训内容紧密结合实际案例。精选数十个源自企业管理过程中 的典型案例,极具代表性和实用价值,反映了现实中企业需要解决的问题,具有更强的针对性。 ●示范性:注重强调动手实践,使每个学员有充分的动手机会,及时解决学习中的问题。在进行实例分析时 一步一步地递进,清晰易懂,既便于您了解财务管理决策分析过程,又使读者真正掌握Excel的强大功能。 ●细致性:讲课认真、细致,辅导实验积极、耐心,使每个学员都能够掌握所讲的内容。

VF中控制EXCEL的常用操作

VF中控制EXCEL的常用操作 myexcel=createobject('excel.application') &&创建一个对象 myexcel.visible=.t.&&可见 &&bookexcel=myexcel.workbooks.add bookexcel=myexcel.workbooks.open("C:\Documents and Settings\Administrator\桌面\学习\dd.xls") &&打开指定文件 nrows=bookexcel.worksheets('sheet1')&&打开工作表 UsedRange =https://www.wendangku.net/doc/d512097745.html,edRange&&返回工作表中可使用的区域,UsedRange表的属性 usedrange.columns.count&&计算共几列 r=usedrange.rows.count&&汇总行 c=usedrange.columns.count&&汇总列 with myexcel.application .sheets('sheet3').select .sheets.add&&添加一个工作表 https://www.wendangku.net/doc/d512097745.html, = 'ddddd'&&重命名表 endwith myexcel.Worksheets('sheet1').Activate&&选择表为当前工作表 myexcel.cells(1,1).value='sss'&&1,1处的值为 myexcel.activesheet.columns(2).columnwidth=15&&第2列的列宽设myexcel.activesheet.rows(2).rowheight=50&&设第2行的行高 myexcel.activesheet.rows(2).insert&&第2行前插入一行 myexcel.activesheet.columns(2).insert&&第2列前插入一列 myexcel.activesheet.Cells(1,1).Font.size=25&&设置1,1的字体大小myexcel.activesheet.Cells(1,1)https://www.wendangku.net/doc/d512097745.html,='黑体'&&设置字体 myexcel.activesheet.Cells(1,1).clear&&清除内容 myexcel.activesheet.range('A1:C2').select&&选择区域 myexcel.selection.merge &&选择区域合并单元格 myexcel.Range('a1').Formula='=sum(b2,b3,b4,b5)'&&在A1中键入一个公式 myexcel.range('a1').ClearContents myexcel.activesheet.Columns('A:B').Select&&整列选中 myexcel.Selection.NumberFormatLocal="@" &&设置选中的区域为字符型数据 myexcel.activesheet.rows(1).select myexcel.Selection.EntireRow.Delete&&删除选中的行 myexcel.Selection.columns(1).Delete&&删除第几的列 myexcel.workbooks.close&&关闭工作区

相关文档
相关文档 最新文档