`

Silverlight使用Com组件操作Excel的封装类(2)

阅读更多

LSOOBXlsHelper.cs

using System;
using System.IO;
using ClientUtils;

namespace Longshine.SLLib.LSOOBExcel
{
    public class LSOOBXlsHelper
    {
        public static string GetSpecialFolderPath(Environment.SpecialFolder folder)
        {
            return Environment.GetFolderPath(folder);

        }

        public static string CopyFileToTemp(FileStream fileToCopy, string path, string suffix)
        {
            string fileName = path + "\\" + GenerateRandomFileName(suffix);
            using (FileStream copyToFile = new FileStream(fileName, FileMode.Create, FileAccess.Write))
            {
                fileToCopy.CopyTo(copyToFile);
            }

            return fileName;
        }


        private static string GenerateRandomFileName(string suffix)
        {
            return DateTime.Now.DateTimeConvertToStringNoSpaceAll() + new Random(DateTime.Now.Second).Next(10000).ToString() + "." + suffix;
        }

    }
}

 

LSOOBXlsRange.cs

using System.Reflection;

namespace Longshine.SLLib.LSOOBExcel
{
    public class LSOOBXlsRange
    {
        dynamic range = null;

        public dynamic Range
        {
            get
            {
                return range;
            }
            set
            {
                if (value != null)
                    range = value;
            }
        }

        public object Value
        {
            get
            {
                return range.Value2;
            }
            set
            {
                if (value != null)
                    range.Value2 = value;
            }
        }

        /// <summary>
        /// 合并单元格 
        /// </summary>
        public void Merge()
        {
            range.Merge(Missing.Value);
        }

        /// <summary>
        /// 列宽为自动适应 
        /// </summary>
        public void ColumnsAutoFit()
        {
            range.Columns.AutoFit();            // 设置列宽为自动适应 
        }

        /// <summary>
        /// 设置单元格格式为货币格式
        /// </summary>
        public string NumberFormatLocal
        {
            get
            {
                return range.NumberFormatLocal;
            }
            set
            {
                if (value != null)
                    range.NumberFormatLocal = value;
            }
        }

        /// <summary>
        /// 单元格边框
        /// </summary>
        public int LineStyle
        {
            get
            {
                return range.Borders.LineStyle;
            }
            set
            {
                range.Borders.LineStyle = value;
            }
        }

        public string FontName
        {
            get
            {
                return range.Font.Name;
            }
            set
            {
                if (value != null)
                    range.Borders.LineStyle = value;
            }
        }
        /// <summary>
        /// 行高
        /// </summary>
        public int RowHeight
        {
            get
            {
                return range.RowHeight;
            }
            set
            {
                range.RowHeight = value;
            }
        }
        /// <summary>
        /// 列宽 
        /// </summary>
        public int ColumnWidth
        {
            get
            {
                return range.ColumnWidth;
            }
            set
            {
                range.ColumnWidth = value;
            }
        }
        /// <summary>
        /// 加粗字体 
        /// </summary>
        public bool FontBold
        {
            get
            {
                return range.Font.Bold;
            }
            set
            {
                range.Font.Bold = value;
            }
        }
        /// <summary>
        /// 字体大小
        /// </summary>
        public int FontSize
        {
            get
            {
                return range.Font.Size;
            }
            set
            {
                range.Font.Size = value;
            }
        }
        /// <summary>
        /// 字体颜色 
        /// </summary>
        public int FontColorIndex
        {
            get
            {
                return range.Font.ColorIndex;
            }
            set
            {
                range.Font.ColorIndex = value;
            }
        }

        /// <summary>
        /// 单元格背景色 
        /// </summary>
        public int InteriorColorIndex
        {
            get
            {
                return range.Interior.ColorIndex;
            }
            set
            {
                range.Interior.ColorIndex = value;
            }
        }
        /// <summary>
        /// 文字居中
        /// 居中:$FFFFEFF4
        /// </summary>
        public int HorizontalAlignment
        {
            get
            {
                return range.HorizontalAlignment;
            }
            set
            {
                range.HorizontalAlignment = value;
            }
        }

        public int VerticalAlignment
        {
            get
            {
                return range.VerticalAlignment;
            }
            set
            {
                range.VerticalAlignment = value;
            }
        }

        /// <summary>
        /// 获得区域的列数
        /// </summary>
        public int ColumnsCount
        {
            get
            {
                return range.Columns.Count;
            }
        }

        /// <summary>
        /// 获得区域的行数
        /// </summary>
        public int RowsCount
        {
            get
            {
                return range.Rows.Count;
            }
        }
    }
}
 

LSOOBXlsRow.cs

namespace Longshine.SLLib.LSOOBExcel
{
    public class LSOOBXlsRow
    {
        dynamic row = null;

        public LSOOBXlsRow()
        {
        }

        public dynamic Row
        {
            get
            {
                return row;
            }
            set
            {
                if (value != null)
                    row = value;
            }
        }

        public int FontSize
        {
            get
            {
                return row.Font.Size;
            }
            set
            {
                row.Font.Size = value;
            }
        }

        public bool WrapText
        {
            get
            {
                return row.WrapText;
            }
            set
            {
                row.WrapText = value;
            }
        }

        public int InteriorColorIndex
        {
            get
            {
                return row.Interior.ColorIndex;
            }
            set
            {
                row.Interior.ColorIndex = value;
            }
        }

        public int RowHeight
        {
            get
            {
                return row.RowHeight;
            }
            set
            {
                row.RowHeight = value;
            }
        }
    }
}
 

LSOOBXlsColumn.cs

namespace Longshine.SLLib.LSOOBExcel
{
    public class LSOOBXlsColumn
    {
        dynamic column = null;

        public LSOOBXlsColumn()
        {
        }

        public dynamic Column
        {
            get
            {
                return column;
            }
            set
            {
                if (value != null)
                    column = value;
            }
        }

        public int ColumnWidth
        {
            get
            {
                return column.ColumnWidth;
            }
            set
            {
                column.ColumnWidth = value;
            }
        }

    }
}
 

 

分享到:
评论

相关推荐

    silverlight4 打开excel 浏览excel

    在本例中,可能用到了名为“XLSXparsingLib”的库,这个库可能是专门用于解析XLSX格式(Excel 2007及以上版本使用的Open XML格式)的组件。XLSXparsingLib可能提供了API,使得开发者可以读取工作表、单元格数据、...

    SilverLight使用COM组件ADO方式访问access数据库

    然而,通过使用COM组件(Component Object Model),SilverLight可以与非托管代码交互,从而实现对Access数据库的访问。本篇文章将详细讲解如何使用COM组件以及ADO(ActiveX Data Objects)方式在SilverLight中实现...

    silverlight中导入和导出Excel

    2. **文件上传**:在Silverlight客户端,使用`System.Windows.Browser`命名空间的`HtmlPage`类来实现文件选择对话框,让用户选择要导入的Excel文件。然后,通过HTTP POST请求将文件发送到WCF服务。 3. **数据处理**...

    Silverlight导入导出到Excel.rar

    然而,题目提到的"Silverlight导入导出到Excel"涉及到的是如何在Silverlight应用中实现数据与Microsoft Excel之间的交互。这通常涉及到数据的读取、处理和保存,以便用户可以方便地导入和导出数据。 1. **...

    Silverlight4 使用Excel文件函数库

    这些组件封装了对Excel文件的操作,使得开发者可以通过API调用来读取、写入或者修改Excel数据,而无需依赖完整的Office安装。这些DLL文件包含了对Excel文件格式的理解和处理逻辑,可以在受限的Silverlight环境中运行...

    silverlight 将DataGrid数据导出EXCEL

    DataGrid是Silverlight提供的一种控件,用于显示和操作表格数据。而Excel则是Microsoft Office套件中的电子表格应用,广泛用于数据管理和分析。 导出DataGrid数据到Excel主要涉及以下几个关键知识点: 1. **...

    Silverlight4中上传EXCEL并将EXCEL文件数据插入到SQL数据库中

    可以使用 `WebClient` 或 `HttpWebRequest` 类进行异步文件上传和数据库操作,避免阻塞 UI。 8. **错误处理**: 在整个过程中,确保捕获并处理可能的异常,如文件读取错误、网络问题、数据库连接失败等。使用 `try...

    Silverlight 导出excel

    4. 使用Open XML SDK:在服务器端,可以使用Microsoft的Open XML SDK来创建和操作Excel文档。这个SDK允许程序直接操作XML结构,构建和填充Excel表格。 5. 示例步骤: - 客户端:在Silverlight应用中,用户触发导出...

    silverlight 仪表盘组件

    该组件基于VS2008(Visual Studio 2008)开发,是Silverlight技术的一个实例应用,展示了如何在Web应用中构建和使用仪表盘控件。仪表盘组件在商业智能、数据分析和监控系统中十分常见,能够以图形化的方式展示关键...

    silverlight ListBox 导出至EXCEL

    在Silverlight应用中,如果有一个名为SL-UpDownFile的组件,它可能封装了文件操作的复杂逻辑,使得开发人员可以更容易地处理文件上传和下载。 总的来说,实现Silverlight中的ListBox文件列表管理和导出到Excel,...

    silverlight导出数据到EXCEL

    在Silverlight中,可以使用StreamWriter类,并指定Encoding.UTF8参数来创建文件。 5. **处理科学计数法**:在数值较大或较小时,Excel可能会自动将其转换为科学计数法。为了避免这种情况,我们可以设置单元格的数字...

    Silverlight中Accordion组件动态生成示例

    以下是一些关于如何在Silverlight 4中使用Accordion组件动态生成内容的关键知识点: 1. **组件引入**:首先,你需要在项目中引用System.Windows.Controls.Toolkit库,这个库包含了Accordion组件。通过添加引用,你...

    开源Silverlight数据访问组件System.Data.Silverlight

    可以实现在Web端无需事先手工编写或自动创建任何程序代码和数据实体类的情况下, 便可在Silverlight端对Web端数据库进行增加、删除、修改、查询等数据操作。此外, 还支持访问数据库的存储过程(StoredProcdures)、视图...

    silverlight 读取Excel

    - `ChartZoom.Web` 和 `ChartZoom`:可能与图表缩放功能有关,可能是Web服务端和Silverlight客户端的组件。 - `xlsx_samples`:可能包含Excel样例文件。 - `InteractChartLib` 和 `InteractChartCommonLib`:可能...

    将Excel2007导入到silverlight的datagrid中

    对于Chart图表,可以使用Silverlight的Chart控件,如System.Windows.Controls.DataVisualization.Charting,将Excel数据映射到图表系列,如柱状图、折线图等。 在"MyExcel"这个文件中,很可能包含了实现上述功能的...

    SilverLight 文件上传组件源码及DEMO

    标题中的“SilverLight 文件上传组件源码及DEMO”指的是一个使用Silverlight技术开发的文件上传功能的组件,包括源代码和演示实例。Silverlight是微软推出的一种浏览器插件,用于增强网页的交互性和多媒体体验,它...

    Silverlight安装问题解决安装组件和安装软件(针对于VS简体中文版英文版的不适用)

    本文将详细讨论如何解决这类问题,以及在安装Silverlight时需要注意的事项,尤其是对于Visual Studio简体中文版和英文版不适用的情况。 首先,让我们深入了解一下`Silverlight5_Tools`。这个组件是Microsoft ...

    Silverlight和Excel的互操作源代码

    Silverlight 4提供了访问COM对象的API,允许开发人员通过Silverlight应用访问Notepad,Word,Excel 或者 Outlook。 本例将演示Silverlight 4打开Excel。

    Synchronous_Silverlight与WCF同步操作

    3. **生成服务代理**:在Silverlight项目中,使用“添加服务引用”功能,输入WCF服务的地址,Visual Studio会自动生成服务代理类,这个类包含了客户端调用服务的方法。 4. **调用服务**:在Silverlight客户端代码中...

    SilverLight图表组件

    - **Silverlight Binaries**:包含了专为SilverLight应用程序编译的库文件,是使用此组件的基础。 综上所述,SilverLight图表组件是开发高质量、交互性强的数据可视化应用的理想选择。无论是桌面应用还是Web应用,...

Global site tag (gtag.js) - Google Analytics