首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

给"A1“单元格加诠释

2012-08-14 
给A1“单元格加注释using Systemusing System.Collections.Genericusing System.Linqusing System.Text

给"A1“单元格加注释

using System;using System.Collections.Generic;using System.Linq;using System.Text;using log4net;using System.Windows.Forms;using DocumentFormat.OpenXml.Packaging;using DocumentFormat.OpenXml;using DocumentFormat.OpenXml.Spreadsheet;using System.Xml;using System.IO;namespace SpreadsheetDocumentComments{    class Program    {        [STAThread]        static void Main(string[] args)        {            ILog log = log4net.LogManager.GetLogger(typeof(Program));            string strPath = null;            SaveFileDialog objSaveFileDialog = new SaveFileDialog();            objSaveFileDialog.Filter = "Excel Document (*.xlsx)|*.xlsx";            objSaveFileDialog.ShowDialog();            strPath = objSaveFileDialog.FileName;            if (strPath.Length > 0)            {                using (SpreadsheetDocument objDocument =                    SpreadsheetDocument.Create(strPath,SpreadsheetDocumentType.Workbook))                {                    WorkbookPart objWorkbookPart =                        objDocument.AddWorkbookPart();                    log.Info("Add WorkbookPart");                    WorksheetPart objWorksheetPart =                         objWorkbookPart.AddNewPart<WorksheetPart>();                    log.Info("Add WorksheetPart");                    string strWorkSheetPartrId =                         objWorkbookPart.GetIdOfPart(objWorksheetPart);                    log.Info("WorksheetPart's rId : " + strWorkSheetPartrId);                    objWorksheetPart.Worksheet = new Worksheet();                    SheetData objSheetData = new SheetData();                    objWorksheetPart.Worksheet.Append(objSheetData);                    Sheets objSheets = new Sheets();                    Sheet objSheet = new Sheet()                    {                        Name = "MySheet",                        SheetId = (UInt32Value)1U,                        Id = strWorkSheetPartrId                    };                    objSheets.Append(objSheet);                    objWorkbookPart.Workbook = new Workbook();                    objWorkbookPart.Workbook.Append(objSheets);                    WorksheetCommentsPart wcp = objWorksheetPart                        .AddNewPart<WorksheetCommentsPart>();                    log.Info("Add WorksheetCommentsPart");                    wcp.Comments = new Comments();                    Authors objAuthors = new Authors();                    Author objAuthor = new Author();                    objAuthor.Text = "Tx_OfficeDev";                    objAuthors.Append(objAuthor);                    CommentList cl = new CommentList();                    Comment c = new Comment()                    {                        Reference = "A1",                        AuthorId = (UInt32Value)0U                    };                    CommentText ct = new CommentText();                    Run r1 = new Run();                    Text t1 = new Text() { Text = "Tx_OfficeDev:" };                    r1.Append(t1);                    Run r2 = new Run();                    Text t2 = new Text()                    {                        Text = "\nThis is a test!",                        Space = SpaceProcessingModeValues.Preserve                    };                    r2.Append(t2);                    ct.Append(r1);                    ct.Append(r2);                    c.Append(ct);                    cl.Append(c);                    wcp.Comments.Append(objAuthors);                    wcp.Comments.Append(cl);                    log.Info("WorksheetCommentsPart finished!");                    VmlDrawingPart vdp = objWorksheetPart.AddNewPart<VmlDrawingPart>();                    XmlTextWriter writer =                        new XmlTextWriter(vdp.GetStream(FileMode.Create),                            Encoding.UTF8);                    writer.WriteRaw("<xml xmlns:v=\"urn:schemas-microsoft-com:vml\""                        +"xmlns:o=\"urn:schemas-microsoft-com:office:office\""                        +"xmlns:x=\"urn:schemas-microsoft-com:office:excel\">"                        +"<o:shapelayout v:ext=\"edit\">"                        +"<o:idmap v:ext=\"edit\" data=\"1\"/>"                        +"</o:shapelayout><v:shapetype id=\"_x0000_t202\" coordsize=\"21600,21600\" o:spt=\"202\""                        +"path=\"m,l,21600r21600,l21600,xe\">"                        +"<v:stroke joinstyle=\"miter\"/>"                        +"<v:path gradientshapeok=\"t\" o:connecttype=\"rect\"/>"                        +"</v:shapetype><v:shape id=\"_x0000_s1025\" type=\"#_x0000_t202\" style=\'position:absolute;"                        +"margin-left:65.25pt;margin-top:1.5pt;width:270pt;height:59.25pt;z-index:1;"                        +"visibility:hidden;mso-wrap-style:tight\' fillcolor=\"#ffffe1\" o:insetmode=\"auto\">"                        +"<v:fill color2=\"#ffffe1\"/>"                        +"<v:shadow on=\"t\" color=\"black\" obscured=\"t\"/>"                        +"<v:path o:connecttype=\"none\"/>"                        +"<v:textbox style=\'mso-direction-alt:auto\'>"                        +"<div style=\'text-align:left\'></div>"                        +"</v:textbox>"                        +"<x:ClientData ObjectType=\"Note\">"                        +"<x:MoveWithCells/>"                        +"<x:SizeWithCells/>"                        +"<x:Anchor>"                        +"1, 15, 0, 2, 6, 15, 4, 9</x:Anchor>"                        +"<x:AutoFill>False</x:AutoFill>"                        +"<x:Row>0</x:Row>"                        +"<x:Column>0</x:Column>"                        +"</x:ClientData>"                        +"</v:shape></xml>");                    writer.Flush();                    writer.Close();                    log.Info("VmlPart finished!");                    Row row = new Row()                    {                        RowIndex = (UInt32Value)1U,                        Spans = new ListValue<StringValue>()                         {                            InnerText = "1:1"                         }                    };                    objSheetData.Append(row);                    string vmlrid = objWorksheetPart.GetIdOfPart(vdp);                    log.Info("vdp rid : " + vmlrid);                    LegacyDrawing ld = new LegacyDrawing() { Id = vmlrid };                    objWorksheetPart.Worksheet.Append(ld);                }            }            Console.ReadKey();        }    }}
欢迎访问《许阳的红泥屋》

热点排行