Quantcast
Channel: Open XML Format SDK forum
Viewing all 1288 articles
Browse latest View live

Can not open Excel file after inserting comments programmatically

$
0
0

Hi,

After inserting comments programmatically to an Excel file,I tried to open it.But it asks   "Excel found unreadable content in MyTemplate.xlsx.Do you want to recover the contents of this workbook?".If I select Yes,the excel file will get repaired but all the comments that I have inserted will be gone.It says that "Removed Part: Drawing shape."Does anyone know the reason for this?

Elizabeth Abraham


interested in implementing Office:EncryptionProvider how do I ensure it works?

$
0
0

Hello,

I am trying to create a COM-addin that implements the Office::EncryptionProvider Interface to provide custom encryption of documents, but I cannot get it to call the queryProviderDetail function (i.e. it is not working). I have done the following to try to get it to load/trigger. By the way, the addin itself is loading fine, so it is a matter of registry keys?

I am using office 2010, visual studio 2010, and am writing in c#

i have set perhaps incorrectly:

HKCU\Software\Microsoft\Office\14.0\Common\Security\OpenXMLEncryption  CLSID:Reg_sz:"{myclsid}"

HKCU\Software\Microsoft\Office\14.0\Common\Security            OpenXMLEncryption:Reg_sz:"{myclsid} (wasnt sure due to vague reference to the key whether openxmlencryption was a key or a value

HKCU\Software\Microsoft\Office\14.0\Word\Security\Crypto  CompatMode:Reg_dword:0x0   (I am just trying to get word to work at the moment)

Anyways this is getting beyond frustrating at this point. Any help would be amazing.

Process Monitor never shows it touching these keys but documents i have found regarding implementing this interface tell me to set them

What formula(e) does Office use to apply brightness/contrast adjustments to images?

$
0
0

Microsoft:

I have been trying to figure out how Office 2007 applies brightness/contrast adjustments to images, but I haven't had any luck matching what Office does. I have not found it detailed in any of the Office Open XML documentation, and web searches yield nothing that works exactly like Office. Can you provide the formula(e) that Office uses to apply those adjustments to image color values?

Thanks much,

devfw

Create a hyperlink to an existing cell to another sheet using Open XML sdk

$
0
0

I want to set hyperlink to the existing value in the cell to another sheet. Here is the code i am using, but its not working. Please help me to figure out this

Hyperlinks hyperlinks1 = new Hyperlinks();Hyperlink hyperlink1 = new Hyperlink() { Reference = cell.CellReference, Location = "Sheet2!A3", Tooltip = "Enter employee details", Id = "UNIQUE" };  hyperlinks1.Append(hyperlink1);PageMargins pageMargins = worksheetPart.Worksheet.Descendants<PageMargins>().First();

worksheetPart.Worksheet.InsertBefore<Hyperlinks>(hyperlinks1, pageMargins);
worksheetPart.Worksheet.Save();

Zoom Level in Excel

$
0
0

Hi,

Does anyone know how to set the zoom level of an excel sheet using open xml?

Elizabeth Abraham

Writing data to Excel templates

$
0
0

Hi all,

I have a development task that seems to be going awry. I've written a wrapper around OpenXML to help me do some of the common tasks - writing strongly typed data to cells, finding worksheets etc

The latter example is where I have a problem. I commonly create templates and push data into them (as some things are very hard to do with OpenXML directly and templates provide a convenient short-term solution). I'm finding that this approach works well enough with templates created in Excel 2007 - which is what I do when I'm on site with the client. However, I often work from home and have Office 365 which I occasionally use to create the templates.

The problem seems to stem from the *home-made* templates - the wrapper code to determine if a worksheet exists in the template (and subsequently saved native format file) does not appear to work as expected. Please find the code below:

        /// <summary>
        /// Determines whether or not a worksheet exists for a given document
        /// </summary>
        /// <param name="document">The document.</param>
        /// <param name="worksheetName">Name of the worksheet.</param>
        /// <returns></returns>
        public static bool WorksheetExists(this SpreadsheetDocument document, string worksheetName) {
            bool exists = false;
            Sheet sheet = null;
            IEnumerable<Sheet> sheets = document.Worksheets();
            foreach (Sheet s in sheets) {
                if (s.Name == worksheetName) {
                    sheet = s;
                    break;
                }
            }
            if (sheet != null) {
                exists = true;
            }
            return exists;
        }

Strangely though, if I extract a csv string of the worksheets using the following method, I can see the worksheet I'm trying to find in the csv!

        /// <summary>
        /// Returns the worksheets as a csv string
        /// </summary>
        /// <param name="document">The document.</param>
        /// <returns></returns>
        public static string WorksheetCSV(this SpreadsheetDocument document) {
            List<string> sheetList= new List<string>();
            foreach (Sheet s in document.Worksheets()) {
                sheetList.Add(s.Name);
            }
            return sheetList.ToCSV();
        }

Is my equality test at fault or is there some bizarre difference between the Excel 2007 and 365 formats that is not immediately obvious?

Venturing into OpenXML, Visual Studio, VB

$
0
0

Hi,

I'm a relatively long time Word user and VBA dabbler.  I'm desiring to venture into learning to work with OpenXML (e.g., my first project would be learning extract a CustomXMLPart from one document and insert it in a different document.) and I would like to do this without physically opening (with Word) either document.

I have Visual Studio 2010, but with the exception of using it occasionally as a RibbonXML editor, I know nothing about its true purpose or use. 

I have seen something called Open XML SDK 2.5 for Office and I assume (but don't know) that it is something I would use with Visual Studio to perform these type tasks.

Enough rambling.  My basic question is can anyone direct me to the beginners starting block?  What basic tools do I need to perform the task?  Are there any basic exercises\tutorials for performing basic tasks?  I feel like if I can start with baby steps then I will be up and running on my own without too much difficulty (but maybe lots more questions).

Thanks.


Greg Maxey Please visit my website at: http://gregmaxey.mvps.org/word_tips.htm

how can i update charts' data in word document by using OpenXML

$
0
0

There was 18 charts In my word document . I can get the charts by code like this:

private MainDocumentPart mainDocPart;

......

ChartPart c_p = mainDocPart.ChartParts.FirstOrDefault();

Then I can update the data of charts.But the problem is this:

I have 18 charts In the document , and the charts index was random.So I can't get the chart by index yet:

ChartPart c_p = mainDocPart.ChartParts.ElementAt(index);//index is Integer Value

So can I appoint the ID or Name for each of the 18 charts?And Can I get Them By ID or Name?

I can update one Charts data by Openxml.If neither,How can I update datas for so many charts by OpenXml?


赵召



OpenXml : PowerPoint . Add an Image and a Title into a Slide

$
0
0

Hi all,
I'm using OpenXml for the first time  and  I've tried  for several days to create a simple presentation in c#.

my goal is: given a list of images as input ,create for each one a slide with a title (image name ) and the image as picture.

Currently I can create either  a slide with just a title or a slide with just the image, but I'm not able to create one with both the elements :-)

Can you help me please ?

Thanks in Advance

Davide

   

How can I change the xlsx file data of the chart in Word document?

$
0
0

I have asked a related question in this form.The problem is I can only change the data in Chart.xml but can't change the data in .xlsx file related to the chart.xml.

the code is :

//-----------------------------------------------------------------------
// This application was created by Imran Mohamed on April 28, 2011
// It programmaticallly updates a chart inside a Word Document 
// This code is licensed under the Code Project Open License CPOL 
//-----------------------------------------------------------------------

namespace chartUpdate
{
    #region Directives

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.IO;
    using System.Text;
    using System.Xml.XPath;
    using System.IO.Packaging;
    using System.Reflection;
    using DocumentFormat.OpenXml;
    using DocumentFormat.OpenXml.Drawing.Charts;
    using DocumentFormat.OpenXml.Packaging;
    using DocumentFormat.OpenXml.Spreadsheet;
    using DocumentFormat.OpenXml.Wordprocessing;

    #endregion

    /// <summary>
    /// Class for updating and resizing images in an Image Placeholder
    /// </summary>
    public class ChartUpdate
    {
        #region Private Fields

        /// <summary>
        /// Contains the word processing document
        /// </summary>
        private WordprocessingDocument wordProcessingDocument;

        /// <summary>
        /// Contains the main document part
        /// </summary>
        private MainDocumentPart mainDocPart;

        #endregion

        #region Public Methods

        #region OpenTheDocuemnt

        /// <summary>
        /// Open an Word XML document 
        /// </summary>
        /// <param name="docname">name of the document to be opened</param>
        public void OpenTheDocuemnt(string docname)
        {
            // open the word docx
            wordProcessingDocument = WordprocessingDocument.Open(docname, true);

            // get the Main Document part
            mainDocPart = wordProcessingDocument.MainDocumentPart;
        }

        #endregion

        #region CloseTheDocument
        /// <summary>
        /// Close the document
        /// </summary>
        public void CloseTheDocument()
        {
            wordProcessingDocument.Close();
        }

        #endregion

        #region UpdateChart

        /// <summary>
        /// Updates the Chart in a word docuemnt.
        /// </summary>
        /// <param name="cellColumn">Corresponds to the Column that needs to be modified</param>
        /// <param name="intRow">Corresponds to the Row that needs to be modified</param>
        /// <param name="newValue">New value of the pointed cell</param>
        /// <param name="axisValue">Is the new value an Axis Value?</param>
        public void UpdateChart(string cellColumn, uint intRow, string newValue, bool axisValue)
        {
            // Gets the Chart stream
            Stream stream = this.wordProcessingDocument.MainDocumentPart.ChartParts.First().EmbeddedPackagePart.GetStream();
            // Open the internal spreadsheet doc for the chart
            using (SpreadsheetDocument wordSSDoc = SpreadsheetDocument.Open(stream, true))
            {
                // Navigate to the sheet where the chart data is located
                WorkbookPart workBookPart = wordSSDoc.WorkbookPart;
                Sheet theSheet = workBookPart.Workbook.Descendants<Sheet>().
                  Where(s => s.Name == "Sheet1").FirstOrDefault();
                if (theSheet != null)
                {
                    Worksheet ws = ((WorksheetPart)workBookPart.GetPartById(theSheet.Id)).Worksheet;
                    // Get the cell which needs to be updated
                    Cell theCell = InsertCellInWorksheet(cellColumn, intRow, ws);

                    // Update the cell value
                    theCell.CellValue = new CellValue(newValue);
                    if (axisValue)
                    {
                        // We are updating the Series text
                        theCell.DataType = new EnumValue<CellValues>(CellValues.String);
                    }
                    else
                    {
                        // We are updating a numeric chart value
                        theCell.DataType = new EnumValue<CellValues>(CellValues.Number);
                    }

                    // Either one of these methods work. It is just to illustrate the different elements that the OpenXML goes through
                    //this.ModifyChartDetailed(cellColumn, intRow, newValue, axisValue);
                    this.ModifyChartSimplified(cellColumn, intRow, newValue, axisValue);

                    ws.Save();
                }
            }
        }

        #endregion

        #endregion

        #region Private Methods

        #region InsertCellInWorksheet
        /// <summary>
        /// Gets the cell where the updated value is going to be placed
        /// </summary>
        /// <param name="columnName">Corresponds to the Column that needs to be modified</param>
        /// <param name="rowIndex">Corresponds to the Row that needs to be modified</param>
        /// <param name="worksheet">WorkSheet to update</param>
        /// <returns> The cell where the new value is going to get updated to</returns>
        private static Cell InsertCellInWorksheet(string columnName, uint rowIndex, Worksheet worksheet)
        {
            SheetData sheetData = worksheet.GetFirstChild<SheetData>();
            string cellReference = columnName + rowIndex;
            Row row;
            if (sheetData.Elements<Row>().Where(r => r.RowIndex == rowIndex).Count() != 0)
            {
                row = sheetData.Elements<Row>().Where(r => r.RowIndex == rowIndex).First();
            }
            else
            {
                row = new Row() { RowIndex = rowIndex };
                sheetData.Append(row);
            }

            if (row.Elements<Cell>().Where(c => c.CellReference.Value == columnName + rowIndex).Count() > 0)
            {
                return row.Elements<Cell>().Where(c => c.CellReference.Value == cellReference).First();
            }
            else
            {
                Cell refCell = null;
                foreach (Cell cell in row.Elements<Cell>())
                {
                    if (string.Compare(cell.CellReference.Value, cellReference, true) > 0)
                    {
                        refCell = cell;
                        break;
                    }
                }

                Cell newCell = new Cell() { CellReference = cellReference };
                row.InsertBefore(newCell, refCell);
                worksheet.Save();
                return newCell;
            }
        }
        #endregion

        #region ModifyChartDetailed
        /// <summary>
        /// Updates the Cached Chart data in the Word document file
        /// </summary>
        /// <param name="cellColumn">Corresponds to the Column that needs to be modified</param>
        /// <param name="intRow">Corresponds to the Row that needs to be modified</param>
        /// <param name="cellValue">New value of the pointed cell</param>
        /// <param name="axisValue">Is the new value an Axis Value?</param>
        private void ModifyChartDetailed(string cellColumn, uint intRow, string cellValue, bool axisValue)
        {
            try
            {
                ChartPart c_p = this.mainDocPart.ChartParts.FirstOrDefault();
                Chart chart = c_p.ChartSpace.Descendants<Chart>().FirstOrDefault();
                PlotArea p_c = chart.PlotArea;
                Bar3DChart b3d = p_c.Descendants<Bar3DChart>().FirstOrDefault();
                BarChartSeries bs1 = b3d.Descendants<BarChartSeries>().Where(s => string.Compare(s.InnerText, "Sheet1!$" + cellColumn + "$1", true) > 0).First();

                if (axisValue)
                {
                    CategoryAxisData v1 = bs1.Descendants<CategoryAxisData>().FirstOrDefault();
                    StringReference sr = v1.Descendants<StringReference>().First();
                    StringCache sc = sr.Descendants<StringCache>().First();
                    StringPoint sp = sc.Descendants<StringPoint>().First();
                    NumericValue nv = sp.Descendants<NumericValue>().First();
                    nv.Text = cellValue;
                }
                else
                {
                    DocumentFormat.OpenXml.Drawing.Charts.Values v1 = bs1.Descendants<DocumentFormat.OpenXml.Drawing.Charts.Values>().FirstOrDefault();
                    NumberReference nr = v1.Descendants<NumberReference>().First();
                    NumberingCache nc = nr.Descendants<NumberingCache>().First();
                    NumericPoint np = nc.Descendants<NumericPoint>().ElementAt((int)intRow - 2);
                    NumericValue nv = np.Descendants<NumericValue>().First();
                    nv.Text = cellValue;
                }
            }
            catch
            {
                // Chart Element is not in a recognizable format. Most likely the defined Chart is incorrect. Ignore the chart creation.
                return;
            }
        }
        #endregion

        #region ModifyChartSimplified
        /// <summary>
        /// Updates the Cached Chart data in the Word document file
        /// </summary>
        /// <param name="cellColumn">Corresponds to the Column that needs to be modified</param>
        /// <param name="intRow">Corresponds to the Row that needs to be modified</param>
        /// <param name="cellValue">New value of the pointed cell</param>
        /// <param name="axisValue">Is the new value an Axis Value?</param>
        private void ModifyChartSimplified(string cellColumn, uint intRow, string cellValue, bool axisValue)
        {
            try
            {
                ChartPart c_p = this.mainDocPart.ChartParts.FirstOrDefault();
                BarChartSeries bs1 = c_p.ChartSpace.Descendants<BarChartSeries>().Where(s => string.Compare(s.InnerText, "Sheet1!$" + cellColumn + "$1", true) > 0).First();
                if (axisValue)
                {
                    NumericValue nv1 = bs1.Descendants<NumericValue>().First();
                    nv1.Text = cellValue;
                }
                else
                {
                    // 
                    DocumentFormat.OpenXml.Drawing.Charts.Values v1 = bs1.Descendants<DocumentFormat.OpenXml.Drawing.Charts.Values>().FirstOrDefault();
                    NumericPoint np = v1.Descendants<NumericPoint>().ElementAt((int)intRow - 2);
                    NumericValue nv = np.Descendants<NumericValue>().First();
                    nv.Text = cellValue;
                }
            }
            catch
            {
                // Chart Element is not in a recognizable format. Most likely the defined Chart is incorrect. Ignore the chart creation.
                return;
            }
        }
        #endregion

        #endregion
    
    
    }
    
    class Program
    {
        static void Main(string[] args)
        {
            ChartUpdate u = new ChartUpdate();

            // copy the word doc so you can see the difference between the two
            File.Delete("test1.docx");
            File.Copy("test.docx", "test1.docx");

            u.OpenTheDocuemnt("test1.docx");
            u.UpdateChart("B", 2, "20", false);
            u.UpdateChart("A", 2, "test", true);
            u.CloseTheDocument();
        }
    }
}

In Word , when I have a right mouse click on the chart Which I have changed the data by above codes,and then select the "edit data" item .  The strangest thing happened:   The chart data changed suddenly! the data was same to the xlsx file's data! So I think I must change the data either in chart.xml or in .xlsx file,is it? And how can I do that?

 


赵召

Reading HTML tag in Content Controls

$
0
0

Hi All,

I have build an application where i dynamically generate word document using predefined Templates. I am using Open XML. SO i generate XML programmatically and associate it with WORD 2010.

I am trying to generalize my templates. What i need is. I have a Rich/Plain Content Control. Its a huge text which varies in style(like bold , italic) in different places depending on condition chosen from interface. I tried putting HTML tag in my XML element of this text but it didnt worked.

e.g 

<SampleText> MSDN is the <b>greatest</b> resource of Q</SampleText>

SampleText is mapped to Rich Context Control in Template word. 

ANy suggestion i can handle the HTML style in my Content in Word.


Nidhi Sharepoint Developer


Merge Documents alignment issue & font issue

$
0
0

Hi ,

        I am merging the two documents using open xml. In Appended document alignment and font are different when compared to original document. Is there is any solution to retain the font and alignment?

 

Thanks & Regards

Jayakumar.C

 

How to add rows in excel sheet using OpenXML

$
0
0

Trying to insert rows in a table in excel sheet before the last row.Implementing with following logic.  

Not able to insert row with below logic. Could any please help me to achieve this. 

------------------------

Sheet sheet = null;
SheetData sheetData;
DocumentFormat.OpenXml.UInt32Value sheetId;
WorksheetPart worksheetPart = null;

 
sheet = myWorkbook.WorkbookPart.Workbook.GetFirstChild().Elements().First(s => s.Name.Value.Equals(“ExcelSheetName”, StringComparison.OrdinalIgnoreCase));
worksheetPart = (WorksheetPart)myWorkbook.WorkbookPart.GetPartById(sheet.Id.Value);
sheetData = worksheetPart.Worksheet.GetFirstChild();
 
//Trying following logic
int insertrow =3;
sheetId = UInt32Value.FromUInt32((uint)insertrow);
Row row = new Row() { RowIndex = sheetId }; 
sheetData.Append(row);
insertrow++;



Prince Jain


how to enter multi lines of data in cell

$
0
0

Hi , dear all,

I'm using OOXML to generate an xlsx doc and separate 2 lines with 0xD 0xA , but can't get multi line effect . Could any one help me with this ?


Generate multiple docs by substituting values for placeholders

$
0
0

 Hi,

Does anyone have a utility that would generate multiple documents using one template with placeholders.

The placeholders' values can be in the form of text or number.

I could have written a script in unix, but restricted to only windows platform.

Kindly let me know if anybody has it handy or any work around for me to do, as i need to generate 500 + docs.

Thanks.

Regards

Sony


Retrieve Excel cell values from every row and cell in a WorkSheet

$
0
0

Good Afternoon,

I am utilizing the Open XML 2.0 to retrieve cell values with in a workbook. In my code, I am attempting to retrieve the cell values from every row and every column within the worksheet that contains a value. The data should be displayed on the console.:


Here is the code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Spreadsheet;

namespace ReadingExcel
{
    class RetrieveListOfExcelValues
    {
        static void Main(string[] args)
        {
            String fileName = @"C:\Users\Documents\TestReadingExcel.xlsx";
             Comment one of the following lines to test the method separately.
            ReadExcelFileDOM(fileName);     DOM


        }end Main

        static void ReadExcelFileDOM(string fileName)
        {   
             Open the spreadsheet document for read-only access.
            using (SpreadsheetDocument document = SpreadsheetDocument.Open(fileName, false))
            {
               
               
                 Retrieve a reference to the workbook part.
                WorkbookPart wbPart = document.WorkbookPart;
                
                Worksheet name that is the the workbook
                string sheetName = "Sheet1";

                Find the sheet with the supplied name, and then use that 
                Sheet object to retrieve a reference to the first worksheet.
                Sheet theSheet = wbPart.Workbook.Descendants<Sheet>().
                  Where(s => s.Name == sheetName).FirstOrDefault();
                 Throw an exception if there is no sheet.
                if (theSheet == null)
                {
                    throw new ArgumentException("sheetName");
                }

                 Retrieve a reference to the worksheet part.
                WorksheetPart wsPart = (WorksheetPart)(wbPart.GetPartById(theSheet.Id));

                
                string text;
                
                
                foreach (Row r in theSheet.Elements<Row>())
                {
                    foreach (Cell c in r.Elements<Cell>())
                    {
                        Cell theCell = wsPart.Worksheet.Descendants<Cell>().FirstOrDefault();

                        
                        text = GetCellValue(theCell,wbPart);
                    

                        Console.Write(text + " ");
                    }
                }
                Console.WriteLine();
                Console.ReadKey();
            }
        }end ReadExcelFileDOMMethod

        public static string GetCellValue(Cell cell, WorkbookPart wbPart)
        {
            string value = null;

                if (cell != null)
                {
                    value = cell.InnerText;

                     If the cell represents an integer number, you are done. 
                     For dates, this code returns the serialized value that 
                     represents the date. The code handles strings and 
                     Booleans individually. For shared strings, the code 
                     looks up the corresponding value in the shared string 
                     table. For Booleans, the code converts the value into 
                     the words TRUE or FALSE.
                    if (cell.DataType != null)
                    {
                        switch (cell.DataType.Value)
                        {
                            case CellValues.SharedString:

                                 For shared strings, look up the value in the
                                 shared strings table.
                                var stringTable =
                                    wbPart.GetPartsOfType<SharedStringTablePart>()
                                    .FirstOrDefault();

                                 If the shared string table is missing, something 
                                 is wrong. Return the index that is in
                                 the cell. Otherwise, look up the correct text in 
                                 the table.
                                if (stringTable != null)
                                {
                                    value =
                                        stringTable.SharedStringTable
                                        .ElementAt(int.Parse(value)).InnerText;
                                }
                                break;

                            case CellValues.Boolean:
                                switch (value)
                                {
                                    case "0":
                                        value = "FALSE";
                                        break;
                                    default:
                                        value = "TRUE";
                                        break;
                                }
                                break;
                        }
                    }
            }
            return value;
    }


}
}

Most of this code was derived from the following tutorial:

http://msdn.microsoft.com/en-us/libr...ffice.15).aspx

The code in the tutorial explicitly inputs the cell address to retrieve the cell value. 

I need my program to retrieve the cell values without having to input the cell address into the method and to loop through all of the rows and columns. How do I go about updating this code to retrieve all of the values that are found within the sheet of the workbook? Every corresponding row and column?



The file I am working with has values in Column A through Column AJ and about 10,000 rows in total. I would need to retrieve all of those cell values and import them into a different application. I have been going at this for a few days now and would appreciate any help.



Thank you in advance for you all of your help.

Problem with OpenXML SDK 2.0

$
0
0

i used DocumentFormat.OpenXml.dll to convert document to open xml ......

and i succeed partially as follows.

1. successfully converted .docx to  xml

2. Giving an error that file hass corrupted data while converting .doc to xml...

please specify the steps to avoid the error

Thanks and regards

Vanaka Srinivas

How to replace content in template docx document using C# and Open XML SDK

$
0
0

Hi

I have a "template" docx document which contains the desired layout, and wish to insert content using C#. The template has been created using Developer ribbon in MS Word. The snapshot of the template is given below.

Please let me know how can I access the fields programmatically and populate it with data.

Protecting Word, and Excel documents, workbooks using OOXML SDK via Office Web API (Javascript)

$
0
0

I have Word and Excel Documents and Workbooks with protection on them so content cannot be changed without unprotecting them via password. On the Office client there are methods to protect and unprotect via Office automation. My question is how can a Word document or Excel workbook be protected and unprotected when opened or closed in the Office web apps? Can the protection of Word documents and Excel workbooks be placed or removed using the Office Web API via JavaScript and OOXML?

Thank you


Jim

Insert new row in excel

$
0
0

Hi,

I'm trying to Insert a new row in excel sheet using Open Office xml sdk. Please let me the code to do the same. Thank you.

http://msdn.microsoft.com/en-us/library/office/bb448854(v=office.15).aspx

Regards,

Kiran

Viewing all 1288 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>