本文目录一览:

vba生成excel文件

使用vba生成一个excel 文件,可以使用以下方法:

1 Workbooks.Add 方法

1.1 语法

新建一个工作表。新工作表将成为活动工作表。

语法

表达式.Add(Template)

表达式 一个代表 Workbooks 对象的变量。

参数

名称 必选/可选 数据类型 说明

Template 可选 Variant 确定如何创建新工作簿。如果此参数为指定现有 Microsoft Excel 文件名的字符串,那么创建新工作簿将以该指定的文件作为模板。如果此参数为常量,新工作簿将包含一个指定类型的工作表。可为以下 XlWBATemplate 常量之一:xlWBATChart、xlWBATExcel4IntlMacroSheet、xlWBATExcel4MacroSheet 或 xlWBATWorksheet。如果省略此参数,Microsoft Excel 将创建包含一定数目空白工作表的新工作簿(该数目由 SheetsInNewWorkbook 属性设置)。

返回值

一个代表新工作簿的 Workbook 对象。

说明

如果 Template 参数指定的是文件,则该文件名可包含路径。

1.2 workbooks.add 会自动打开一个“工作簿1”这类的wb文件,并activate之

workbooks.add 会自动生成一个 " 工作簿N" 的WB文件,且active

workbooks.add 在add后,会打开一个“工作簿1”这类的wb文件

并且最后add的 wb文件 成为新的 activeworkbook

Sub test98()

Workbooks.Add

End Sub

1.3 workbooks.add(template)

template Variant 类型,可选

1.3.1 template如果指定为 EXCEL内置的常量

可为以下 XlWBATemplate 常量之一

xlWBATChart

xlWBATExcel4IntlMacroSheet

xlWBATExcel4MacroSheet

xlWBATWorksheet

Sub test91()

Workbooks.Add (xlWBATChart)

Workbooks.Add (xlWBATWorksheet)

Workbooks.Add (xlWBATExcel4MacroSheet)

Workbooks.Add (xlWBATExcel4IntlMacroSheet)

End Sub

1.3.2 若 template指定为文本,文本是一个文件路径,文件必须先存在

(暂时没发现有什么用处)

template 如果本参数为指定一现有 Microsoft Excel 文件名的字符串,那么创建新工作簿将以该指定的文件作为模板

如果template指定为文件,文件必须先存在,否则报错。

那么template为一个路径

如果是完整的绝对路径,则需要带path

如果只是相对路径,那么 excel 2010版本会去这儿找这个文件:D/用户目录/我的文档下面 ,默认目录?

好像指定过后会把新的路径当默认路径

Sub test96()

Workbooks.Add (ThisWorkbook.Path "/" ActiveSheet.Name ".xlsx")

End Sub

Sub test97()

Workbooks.Add (ActiveSheet.Name ".xlsx")

End Sub

2、thisworkbook.sheets(1).copy

这个是将当前代码所在工作簿的左侧第一张表拷贝生成新的工作簿文件。新文件包含一张表格。具体对应的文件跟表格可以根据需求调整

2020-11-05 自动生成多个Excel文件

seq 0 59 | sed 's/^/0/g' | sed 's/.*/(../)$//1/g' | xargs -i bash -c " / 

 rm -rf 123/  1.zip;  cp  zzz.xlsx  1.zip  ;  unzip  -d 123 1.zip;  sed 's/2020/2030/g' 123/xl/sharedStrings.xml  | sed 's/8d45/9d{}/g'  | sed 's/abc/abc{}/g'  |  sed 's/bcd/bcd{}/g' 2;  cat 2 123/xl/sharedStrings.xml  ; rm result.zip  ;  cd 123/  ;  zip -r ../result.zip  * ;  cd ..  ;  cp result.zip  result_{}.xlsx "

修改excel文件为 60份,其中的内容稍微修改一下。

并修改文件的时间属性:

改分钟、并且 秒 变成随机数:

seq0 59 | sed 's/^/0/g'  | sed's/.*/(../)$//1/g'  | xargs -i bash -c" echo -n touch -t 2016051712{}.; echo -n $RANDOM; echo  -n /"/";  echo   result_{}.xlsx" | xargs –i  bash -c "{} "

怎么将ASP.NET导出Excel表格

之前一直想研究ASP.NET导出 Excel 表格来着,但一直没有时间,这几天因为一个项目的需要,所以就钻研了一下。

小面我告诉你 怎么将ASP.NET导出Excel表格:

1.在DownStudent.aspx页面上添加一个Label标签用来显示“请选择要查看数据的条件”静态文本;

2.在该页面上添加DropDownList控件用来控制显示数据以及输出数据的条件,绑定DropDownList1_SelectedIndexChanged函数;

3.在该页面上添加GridView控件来显示由DropDownList控件指定条件的数据;

4.在该页面上添加SqlDataSource控件用来连接数据库并将查询的结果返给GridView控件;

5.最后是一个确认按钮,绑定Button1_Click函数。

后台代码实现(DownStudent.aspx.cs):(具体代码见附录)

后台代码的实现是导出Excel表格的关键所在,是重中之重。

1.首先是命名空间的问题,因为这里是导出Excel表格用到了输入输出流,所以必须在命名空间里引用IO流(

using System.IO;),我这里用的是SQLServer数据库,所以还要用到(using System.Data;和using System.Data,Sql;);

2.实现DropDownList1_SelectedIndexChanged函数,注意:SelectedIndexChanged 方法 的实现必须基于DropDownList1控件的AutoPostBack属性要设置为True(否则SelectedIndexChanged方法无效),而DropDownList1_SelectedIndexChanged函数主要实现的就是根据DropDownList1控件选定的条件修改SqlDataSource控件的SelectComand的值;

代码示例:SqlDataSource1.SelectCommand = "SELECT [Chufen], [Zhibu], [Zhuanzheng] from bizusers WHERE (bizusers.Zhibu ='" + DropDownList1.SelectedItem.Text + "')";

3.Button1_Click函数是精华所在,该函数实现思想是:先获取一个数据库连接(方法比较多,有传统通过SqlConnect获取的,也有调用外部类实现的),然后是一条SQL语句(Select查询字符串),再者是调用外部类的方法根据SQL语句生成一个DataSet结果集对象(把SQL语句查询到的值放入DataSet里,方便下一次使用,而不是再去访问一次数据库),最后,调用CreateExcel函数,注意参数;

4.实现CreateExcel函数(就是对生成的DataSet的进一步操作了);

其他引用文件说明:

在App_Code文件夹里主要有3个外部类,QueryString.cs文件这里不是重点,故跳过。1.ExcelExporter.cs文件主要是实现了CreateExcel函数中调用的类,是用来生成Excel文件的,涉及excelXML文件流,只需要会调用该类对DataSet进行处理即可,具体生成Excel表格工作交由它处理;2.SqlData.cs文件主要是封装了连接数据库SqlConnect对象的方法,并且实现了对SqlCommand命令获取到的值的操作,实现了生成DataSet对象以及DataReader对象的方法(该文件主要好处是省去了每次在界面.cs文件中都要调用SqlConnect以及SqlCommand对象的麻烦);(具体代码见附录)

效果:

单击“确认导出”按钮;

选择另存为即可;