`
piaoling
  • 浏览: 261573 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

owc之spreadsheet单的元格的格式操作及其它

    博客分类:
  • java
阅读更多

http://www.cnblogs.com/salonliudong/archive/2008/06/26/1230255.html

1.            技术要点

1.1.    Excel试验:

A.       Excel嵌入网页的方法。

1.       在后台用流的方式返回给前台页面展现;

2.       在后台讲Excel格式数据定好保存到本地,在前台页面用html标签加载展示;

B.       Excel显示格式的控制。

1.       Excel单元格格式设置,默认为常规类型;

2.       上下标格式的控制;

3.       单元格水平垂直对齐方式;

4.       单元格边框设置;

5.       单元格合并;

6.       字体设置,包括字体的颜色、大小、粗体、斜体、字体、下划线等;

7.       冻结行列;

8.       公式栏的显示与隐藏;

9.       行标题和列表题的显示与隐藏;

10.    网格的显示与隐藏;

11.    水平滚动条和垂直滚动条的显示与隐藏;

12.    Sheet页的显示与隐藏;

C.       向Excel中填充数据,并导出为临时文件。

1.2.    OWC试验:

A.       OWC组件在web页面展示的方法。

1.       将OWC中Sheet导出为本地Excel文件,再将导出的文件呈现到Web页面;

2.       后台把配置好的Sheet直接以流文件方式返回到Web页面展现;

3.       用html标签将OWC展现在Web页面,加载后台程序导出到本地的文件(xml、html、csv格式)来显示数据;

B.       在OWC中的电子表格类中填充数据的方法。

C.       OWC中显示数据格式的控制。

1.       电子表格外观控制:工具栏的显示、Office图标的显示、列标题的显示、行标题的显示、水平滚动条的显示、垂直滚动条的显示、网格的显示、网格颜色设置;

2.       单元格水平对齐方式;

3.       单元格垂直对齐方式;

4.       单元格合并;

5.       单元格字体设置:字体、字形、字号、字体颜色、字体加粗、下划线(多种样式);

6.       单元格边框设置;

2.            主要模块

2.1.    Excel

1、Excel嵌入网页的方法:

       A、将后台定制好的Excel文件在后台用流的方式返回给前台页面展现,代码如下

Response.ClearContent();

        Response.ClearHeaders();

        Response.ContentType = "application/vnd.ms-excel";

        Response.AddHeader("Content-Disposition", "inline;filename='我的文件'");

        Response.WriteFile(FileName);//FileName为Excel文件所在地址

        Response.Flush();

        Response.Close();

        运行效果:整个页面都充满了Excel。

      B、在前台页面框架中直接加在,代码:

      <iframe id="myExcelHtml" src ="Nomarl.xls" width = "600" height ="300" align ="middle"> </iframe>

       运行效果:可随意控制Excel在页面的显示位置。

2、 Excel显示格式控制。

A、单元格格式设置,默认为常规类型;Excel

代码:

Excel.Range r = mySheet.get_Range(mySheet.Cells[1, 1], mySheet.Cells[DT.Rows.Count + 2, DT.Columns.Count - 3]);

              //设置单元格格式为文本类型,文本类型可设置上下标

r.NumberFormat = "@";

//设置单元格格式为数值类型,小数点后2位

r.NumberForma = "0.00_ "

    //设置单元格格式为货币类型,小数点后2位

 r.NumberForma = "¥#,##0.00;¥-#,##0.00"

    //设置单元格格式为会计专用类型,小数点后2位

 r.NumberForma = _"_ ¥* #,##0.00_ ;_ ¥* -#,##0.00_ ;_ ¥* ""-""??_ ;_ @_ "

    //设置单元格格式为日期类型

 r.NumberForma = "yyyy-m-d"

    //设置单元格格式为时间类型

 r.NumberForma = "[$-F400]h:mm:ss AM/PM"

    //设置单元格格式为百分比类型,小数点后2位

 r.NumberForma = "0.00%"

    //设置单元格格式为分数类型,分母为一位数

 r.NumberForma = "# ?/?"

    //设置单元格格式为科学技术类型,小数位数为2

 r.NumberForma = "0.00E+00"

    //设置单元格格式为特殊类型

     r.NumberForma = "000000"

B、上下标格式的控制;

代码:

//控制输出样式为下标

            mySheet.get_Range(mySheet.Cells[i + 3, DT.Columns.Count - 3], mySheet.Cells[i + 3, DT.Columns.Count - 3]).get_Characters(a.Length + 1, b.Length).Font.Subscript = true;

            //控制输出样式为上标

 mySheet.get_Range(mySheet.Cells[i + 3, DT.Columns.Count - 3], mySheet.Cells[i + 3, DT.Columns.Count - 3]).get_Characters(a.Length + b.Length + 1, c.Length).Font.Superscript = true;

C、              单元格水平垂直对齐方式;

代码:

//单元格水平,垂直居中

           r.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;

     r.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter;

     上面代码中,枚举XLHAlign的值还有:

        // 右对齐

        xlHAlignRight,

        // 左对齐.

        xlHAlignLeft,

        // 两端对齐.

        xlHAlignJustify,

        // 分散对齐(缩进)

        xlHAlignDistributed,

        // 居中对齐

        xlHAlignCenter,

        // 依照数据类型对齐,常规

        xlHAlignGeneral,

        // 填充

        xlHAlignFill,

        // 跨列对齐.

         xlHAlignCenterAcrossSelection = 7,

      枚举XLVAlign的值还有:

            // 靠上对齐

          xlVAlignTop,

          //两端对齐.

          xlVAlignJustify = -4130,

          //分散对齐.

          xlVAlignDistributed,

          //居中对齐.

          xlVAlignCenter,

          //靠下对齐.

 xlVAlignBottom = -4107,

D、              单元格边框设置;

代码:

//设置边框

 Excel.Range r = mySheet.get_Range(mySheet.Cells[1, 1], mySheet.Cells[DT.Rows.Count + 2, DT.Columns.Count - 3]);

r.Borders.LineStyle = Excel.XlLineStyle.xlContinuous;

              枚举XlLineStyle中还有下面线形:

                       //没边框线

                   xlLineStyleNone,

                   //双线.

                   xlDouble,

                   //点状线.

                   xlDot,

                   //虚线.

                   xlDash,

                   //连续线.

                   xlContinuous,

                   //点线交互型

                   xlDashDot,

                   //两点一线型

                   xlDashDotDot,

                   //斜线.

                   xlSlantDashDot,

E、单元格合并

用get_Range方法获取要合并的单元格,再设置MergeCells属性的值进行合并。

代码:

              //合并单元格

       myExcel.get_Range(myExcel.Cells[1, 1], myExcel.Cells[1,4]).MergeCells = true;

F、字体设置

先用get_Range方法选中要设置字体的某个单元格或者或者直接用get_Characters方法直接选中要设置的字符进行设置;

代码:

//加粗字体

        myExcel.get_Range(myExcel.Cells[1, 1], myExcel.Cells[1, 1]).Font.Bold = true;

        //设置字体大小

        myExcel.get_Range(myExcel.Cells[1,1],myExcel.Cells[1,1]).Font.Size = 16;

        //设置字体的颜色

        myExcel.get_Range(myExcel.Cells[1, 1], myExcel.Cells[1, 1]).Font.ColorIndex = 3;

        //设置字体

        myExcel.get_Range(myExcel.Cells[1, 1], myExcel.Cells[1, 1]).Font.Name = "隶书";

        //设置成斜体

        myExcel.get_Range(myExcel.Cells[1, 1], myExcel.Cells[1, 1]).Font.Italic = true;

        //设置下划线

myExcel.get_Range(myExcel.Cells[1, 1], myExcel.Cells[1, 1]).Font.Underline = true;

G、冻结行列

用get_Range方法获取单元格,再设置其Freezepanes属性为true,就把该单元格右上方的行和列都冻结了,取消冻结将其值设为false即可。

//冻结行列

                   myExcel.get_Range(myExcel.Cells[3,1],myExcel.Cells[3,1]).Activate();

         myExcel.ActiveWindow.FreezePanes = true;

H、      公式输入栏的隐藏

//设置是否显示Excel公式输入栏,默认为true

                   myExcel.DisplayFormulaBar = false;

I、 列标题与行标题的隐藏

                   //设置是否显示行和列的标题,默认为true

                   myExcel.ActiveWindow.DisplayHeadings = false;

J、网格的隐藏

                  //设置是否显示网格,默认为true

                  myExcel.ActiveWindow.DisplayGridlines = false;

K、  水平、垂直滚动条的隐藏

                 //设置是否显示水平滚动条

                 myExcel.ActiveWindow.DisplayHorizontalScrollBar = false;

                 //设置是否显示垂直滚动条

                 myExcel.ActiveWindow.DisplayVerticalScrollBar = false;

L、页的隐藏Sheet

                //设置是否显示Sheet页

                myExcel.ActiveWindow.DisplayWorkbookTabs = false;

       经过格式设置以后,展示在页面上的效果如下图:

 

3、        向Excel中填充数据,并保存为临时文件

      代码:

        Excel.Application myExcel = new Excel.Application();

        //打开模板文件

        myExcel.Application.Workbooks.Open(mode.FullName, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);

        //选中有数据的Cells

        Excel.Workbook myBook = myExcel.Workbooks[1];

        Excel.Worksheet mySheet = (Excel.Worksheet)myBook.Worksheets[1];

        Excel.Range r = mySheet.get_Range(mySheet.Cells[1, 1], mySheet.Cells[DT.Rows.Count + 2, DT.Columns.Count - 3]);

        r.Select();

        //不单独显示Excel,最后在IE中显示

        myExcel.Visible = false;

        //第一行为报表的标题

        myExcel.Cells[1, 1] = "用模板导出的报表";

        //逐行写入数据,数组中第一行为报表的列标题

        for (int i = 0; i < DT.Columns.Count - 3; i++)

        {

            myExcel.Cells[2, 1 + i] = DT.Columns[i].Caption; ;

       }

//在当前目录下指定一个临时文件

        string FileName = Server.MapPath("~") + """Temp.xls";

        if (File.Exists(FileName))

        {

            File.Delete(FileName);

        }

        myExcel.Save(FileName);

        mySheet.Cells.Clear() ;

        //设置不出现保存提示框

        myBook.Saved = true;

      myExcel.Application.Workbooks.Close();

分享到:
评论

相关推荐

    owc11 Spreadsheet 详细使用

    本篇文章将深入探讨OWC11 Spreadsheet的功能、使用方法以及常见操作,帮助用户充分利用这一工具提升工作效率。 ### 1. **基本功能** - **创建工作簿**:用户可以快速创建新的空白工作簿或基于模板的新工作簿。 - *...

    收集的OWC关于SpreadSheet资料

    OWC SpreadSheet可被嵌入到网页中,与其他Web应用程序集成,如内容管理系统、项目管理工具等,提供在线的电子表格服务。开发者可以通过JavaScript API进行自定义操作,实现与服务器的交互,如数据的导入导出、保存...

    owc11的操作类和安装包

    OWC11(Office Web Components 11)是微软提供的一组组件,允许开发者在Web应用程序中嵌入和操作Microsoft Office文档,如Excel、Word和PowerPoint。这些组件提供了与Office应用程序类似的接口,使得在网页上展示和...

    OWC11帮助文档 Excel 编程

    `Spreadsheet.txt`可能是一份关于如何使用OWC11创建和操作电子表格的文本指南。 通过深入学习OWC11的属性、对象和方法,并结合VBA编程,开发者可以创建出强大且灵活的Web应用程序,将Excel的功能延伸到互联网平台,...

    C# Microsoft.Office.Interop.Owc11 导出excel文件.zip

    除了设置单元格的值,我们还可以进行更复杂的操作,如格式化单元格、插入图表、应用公式等。例如,为单元格设置背景色: ```csharp spreadsheet.ActiveSheet.Range["A1"].Interior.ColorIndex = 6; // 黄色 ``` 当...

    基于owc组件生成下载Excel报表的实例分析

    - **生成Excel文件**:使用OWC对象,如`Spreadsheet`,将处理后的数据填充到Excel单元格中,并设置单元格的格式、样式等。 - **保存并下载**:将生成的Excel文件保存到服务器上的`chart`目录,并生成一个HTTP响应...

    一个基于Office Web Component v11.0 Spreadsheet + AJAX 实现的程序例子

    2. **Spreadsheet Component**: OWC Spreadsheet组件提供了创建、编辑和显示电子表格的能力。开发者可以利用它来展示数据、执行计算、格式化单元格等操作,与Excel的交互非常相似。在这个例子中,用户可以通过Web...

    C# OWC 簇形三维柱状图 源码

    不过,需要注意的是,OWC控件自Office 2003以来就没有更新,可能不支持较新的操作系统和浏览器,因此在新项目中可能需要考虑使用其他现代的数据可视化库,如WPF的DataVisualization组件、.NET框架的System.Windows....

    微软OWC(web office com)使用方法

    OWC的独特之处在于其组件既可以在Web页面中作为可视控件使用,也可以在内存中作为不可见对象使用。这种灵活性使得OWC成为了一个非常强大的工具,不仅适用于前端开发,也适用于后端服务器上的数据处理任务。 - **在...

    ASP导出到Excel代码[参考].pdf

    这个类初始化时会创建一个`OWC.Spreadsheet`对象,该对象是OWC提供的用于在Web页面上创建和操作Excel工作表的接口。`iColOffset`和`iRowOffset`属性用于定义数据在工作表中的起始位置。 `GenerateWorksheet`方法...

    OWCSpreadsheet单元格编辑方式的改进

    需要明确标题“OWCSpreadsheet单元格编辑方式的改进”与描述中提及的“VSTO开发中关于OWC组件使用Spreadsheet编程的技巧”实际上指的是在使用Office Web Components (OWC) 中的Spreadsheet组件进行编程时,通过...

    ASP导出Excel数据的四种方法

    这个类利用了Office Web Components(OWC)提供的Spreadsheet对象,能够动态创建和填充Excel工作表。通过设置单元格的值、字体样式和列宽自动适应等功能,可以高效地将记录集(Recordset)中的数据转换成Excel格式。...

    .net 生成Excel

    3. **格式化设置**:能够对生成的Excel进行字体、边框、合并单元格等格式化操作,确保数据的可视化效果。 4. **文件导出与读取**:支持将数据以XML Spreadsheet格式导出,并能读取Excel文件作为数据源。 #### 技术...

Global site tag (gtag.js) - Google Analytics