解决方案 »
- 怎么在ImageButton的点击事件里面获得HiddenField 的值
- 怎么在网页种实现邮件发送
- 一个游戏
- 用javascript 如何取得Gridview里面某一个项的值呢?
- 一个一直没有解决的问题
- 急求ASP.NET下WEB的打印控件、方案、代码?!在线等!
- access数据库中如何插入图片到字段,然后再从自段读取图片.
- 如何在点击datagrid中按钮列中的"删除"时,使用messagebox
- 请教一下各位朋友,问什么objrd不让我定义(谢谢)
- 请大家看一下,怎么DataGrid的边框线露出来了呀?怎么办?
- vb.net 解析xml
- 隐藏域能存多大内容,我上万条记录的id能不能存到里面
导出可以按指定的模板(也就是你导入的格式)导出
Dim applicationClass As New ApplicationClass
Dim workbook As Microsoft.Office.Interop.Excel.Workbook = Nothing
workbook = applicationClass.Workbooks.Open(strIn, objMissing, objMissing, objMissing, objMissing _
, objMissing, objMissing, objMissing, objMissing, objMissing, _
objMissing, objMissing, objMissing, objMissing, objMissing worksheet = CType(workbook.Sheets(1), Worksheet)
worksheet.SaveAs(strOut + strName, objMissing, objMissing, objMissing, objMissing, objMissing, _
objMissing, objMissing, objMissing, True)以上是vb.net 代码 c#同理 就是愈语法有点不同。
private void btn_Gather_Click(object sender, EventArgs e)
{
object missing = System.Reflection.Missing.Value;//定义object缺省值
string[] P_str_Names = txt_MultiExcel.Text.Split(',');//存储所有选择的Excel文件名
string P_str_Name = "";//存储遍历到的Excel文件名
List<string> P_list_SheetNames = new List<string>();//实例化泛型集合对象,用来存储工作表名称
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();//实例化Excel对象
//打开指定的Excel文件
Microsoft.Office.Interop.Excel.Workbook workbook = excel.Application.Workbooks.Open(txt_Excel.Text, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
Microsoft.Office.Interop.Excel.Worksheet newWorksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets.Add(missing, missing, missing, missing);//创建新工作表
for (int i = 0; i < P_str_Names.Length - 1; i++)//遍历所有选择的Excel文件名
{
P_str_Name = P_str_Names[i];//记录遍历到的Excel文件名
//指定要复制的工作簿
Microsoft.Office.Interop.Excel.Workbook Tempworkbook = excel.Application.Workbooks.Open(P_str_Name, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
P_list_SheetNames = GetSheetName(P_str_Name);//获取Excel文件中的所有工作表名
for (int j = 0; j < P_list_SheetNames.Count; j++)//遍历所有工作表
{
//指定要复制的工作表
Microsoft.Office.Interop.Excel.Worksheet TempWorksheet = (Microsoft.Office.Interop.Excel.Worksheet)Tempworkbook.Sheets[P_list_SheetNames[j]];//创建新工作表
TempWorksheet.Copy(missing, newWorksheet);//将工作表内容复制到目标工作表中
}
Tempworkbook.Close(false, missing, missing);//关闭临时工作簿
}//codego.net/tags/1/1/
workbook.Save();//保存目标工作簿
workbook.Close(false, missing, missing);//关闭目标工作簿
MessageBox.Show("已经将所有选择的Excel工作表汇总到了一个Excel工作表中!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
CloseProcess("EXCEL");//关闭所有Excel进程
}
服务器上安装office不是多花钱的问题,反正现在很多服务器系统本身都是盗版,也不在乎安装的office是否是正版
不过如果你用office的dll,就需要注册DCOM,还有给office权限,还要设置32位64位,还要版本号对应上,很麻烦