一段时间以来,我从网上搜了许多文章,是关于C#操作EXCEL的,但我都试了一遍,竞没有一个能让EXCEL程序显示出来,是ASP.NET没这功能?还是中国人都不会?还是有人会但保守? 在CSDN上我发了几个贴子也没有人能解决。我从网上找了许多操作EXCEL的例子,照着做都不能成功,下面是其中一个例子,
加入COM组件,也写了using Excel后Excel.Application app = new Excel.ApplicationClass();
Excel.Workbooks wbs = app.Workbooks;
Excel.Workbook wb = wbs.Add(System.Reflection.Missing.Value);
Excel.Worksheet ws = (Excel.Worksheet)wb.Worksheets[1];
app.Cells[2,2] = "abcd" ;
app.Visible = true; //执行此句后EXCEL程序没有显示出来
ws.PrintPreview(0) ; //此句执行不了,网页的进度条走了一点就不往前走了单步执行到最后一条语句时ws.PrintPreview(0) ; 就不行了,网页的进度条中止,看
内存中有一个EXCEL进程,但EXCEL出不来。---------------------------------------------------------------------------
下面是VB6时代操作EXCEL,往模板a.xls中写数据,启动预览,然后不保存关闭退出的例子Dim myExcel As Excel.Application
Dim x1book As Excel.Workbook
Dim x1sheet As Excel.Worksheet
Set myExcel = CreateObject("Excel.Application")
Set x1book = myExcel.Workbooks.Open(App.Path + "\a.xls")
Set x1sheet = x1book.Worksheets(1)x1sheet.Cells(1,1) = "abcdefghijk"'启动预览,用户点关闭后不提示保存直接退出。
myExcel.Visible = True
myExcel.Worksheets.PrintPreview
myExcel.AlertBeforeOverwriting = False
myExcel.DisplayAlerts = False
Set x1book = Nothing
myExcel.Application.Quit
'****************************
如今学ASP.NET,怎么用C#实现同样功能?
加入COM组件,也写了using Excel后Excel.Application app = new Excel.ApplicationClass();
Excel.Workbooks wbs = app.Workbooks;
Excel.Workbook wb = wbs.Add(System.Reflection.Missing.Value);
Excel.Worksheet ws = (Excel.Worksheet)wb.Worksheets[1];
app.Cells[2,2] = "abcd" ;
app.Visible = true; //执行此句后EXCEL程序没有显示出来
ws.PrintPreview(0) ; //此句执行不了,网页的进度条走了一点就不往前走了单步执行到最后一条语句时ws.PrintPreview(0) ; 就不行了,网页的进度条中止,看
内存中有一个EXCEL进程,但EXCEL出不来。---------------------------------------------------------------------------
下面是VB6时代操作EXCEL,往模板a.xls中写数据,启动预览,然后不保存关闭退出的例子Dim myExcel As Excel.Application
Dim x1book As Excel.Workbook
Dim x1sheet As Excel.Worksheet
Set myExcel = CreateObject("Excel.Application")
Set x1book = myExcel.Workbooks.Open(App.Path + "\a.xls")
Set x1sheet = x1book.Worksheets(1)x1sheet.Cells(1,1) = "abcdefghijk"'启动预览,用户点关闭后不提示保存直接退出。
myExcel.Visible = True
myExcel.Worksheets.PrintPreview
myExcel.AlertBeforeOverwriting = False
myExcel.DisplayAlerts = False
Set x1book = Nothing
myExcel.Application.Quit
'****************************
如今学ASP.NET,怎么用C#实现同样功能?
解决方案 »
- 棘手!!ListView 获取模板控件的Text问题
- gridview如何设置每条数据之间的行距?
- 网页设计测试浏览器的流程一般是什么样子的?
- 怎么在aspx(c#)中接受http://localhost/show.aspx?no=id 中的id啊
- >>>急,请问如何在网页中弹出一个新窗口?<<<
- 发布到服务器上后,总是出现“输入网络密码”的对话框,怎么办????
- 大家谁作过对称加密方法啊
- 如何把一个数组参数传给存储过程 50分酬谢
- 关于BLOB转成WORD文件的问题!急!
- 急!急!急!在线考试超过200人瘫痪
- 关于dataset里面的值并且进行运算!!
- ASP.net中关于水晶报表9WEB打印的问题
if( app == null)
{
MessageBox.Show("Excel无法启动");
return;
}
app.Visible = true;
Excel.Workbooks wbs = app.Workbooks;
Excel.Workbook wb = wbs.Add(Missing.Value);
Excel.Worksheet ws = (Excel.Worksheet)wb.Worksheets[1];
Excel.Range r = ws.get_Range("A1","H1");
object [] objHeader = {"标题1","标题2","标题3",
"标题4","标题5","标题6",
"标题7","标题8"};
r.Value = objHeader;
if (lv.Items.Count >0)
{
r = ws.get_Range("A2",Missing.Value);
object [,] objData = new Object[this.lv.Items.Count,8];
foreach(ListViewItem lvi in lv.Items)
{
objData[lvi.Index,0] = lvi.Text;
objData[lvi.Index,1] = lvi.SubItems[1].Text;
objData[lvi.Index,2] = lvi.SubItems[2].Text;
objData[lvi.Index,3] = lvi.SubItems[3].Text;
objData[lvi.Index,4] = lvi.SubItems[4].Text;
objData[lvi.Index,5] = lvi.SubItems[5].Text;
objData[lvi.Index,6] = lvi.SubItems[6].Text;
objData[lvi.Index,7] = lvi.SubItems[7].Text;
}
r = r.get_Resize(lv.Items.Count,8);
r.Value = objData;
r.EntireColumn.AutoFit();
}
app = null;
To:zhanggy1973 (谷雨)
你这是“有组织,没纪律”
http://dotnet.aspx.cc/ShowDetail.aspx?id=8A4CBF47-B888-4832-3389-ED3A3A3C8AAB
国人强的有的是,呵呵。
自己也要争气啊,什么都指望别人强有什么用:)