FlexCel Base conversion class for implementing Bin2Hex, Dec2Bin, etc. Creates a new object. Calculates the result depending on the specific function. Evaluates the function. Implements the basics for Bond functions, like CoupDays, CoupDaysNC, CoupDayBS, CoupNCD, CoupNum, CoupPCD. Creates a new implementation. Calculates the result depending on the specific function. Evaluates the function. Look At Excel docs for parameters. Returns true if the date is the end of month. Returns the last day of a month. Makes the day in bonddate be as big Maturity date as possible. Returns the next coupon after settlement date. Returns the previous coupon for a given coupon. Date of the coupon we want to find. Maturity date. Frequency A base implementation for both GCD and LCM Creates a new instance of the class. Evaluates the function. Look At Excel docs for parameters. Implements the basis for WorkDays and NetWorkDays Excel functions. Look at Excel documentation for more information. Creates a new implementation. Implements the Bin2Dec Excel function. Look at Excel documentation for more information. Creates a new implementation. Implement this method to specialize BaseBinHexImpl class. Implements the Bin2Hex Excel function. Look at Excel documentation for more information. Creates a new implementation. Implement this method to specialize BaseBinHexImpl class. Implements the Bin2Oct Excel function. Look at Excel documentation for more information. Creates a new implementation. Implement this method to specialize BaseBinHexImpl class. Implements the Convert Excel function. Look at Excel documentation for more information. Creates a new implementation. Evaluates the function. Look At Excel docs for parameters. Implements the CoupDaysBS Excel function. Look at Excel documentation for more information. Creates a new implementation. Override this method to specialize BaseBondsImpl See Excel docs for description of this function. See Excel. See Excel. See Excel. See Excel. Implements the CoupDays Excel function. Look at Excel documentation for more information. Creates a new implementation. Override this method to specialize BaseBondsImpl See Excel docs for description of this function. See Excel. See Excel. See Excel. See Excel. Implements the CoupDaysNC Excel function. Look at Excel documentation for more information. Creates a new implementation. Override this method to specialize BaseBondsImpl See Excel docs for description of this function. See Excel. See Excel. See Excel. See Excel. Implements the CoupNCD Excel function. Look at Excel documentation for more information. Creates a new implementation. Override this method to specialize BaseBondsImpl See Excel docs for description of this function. See Excel. See Excel. See Excel. See Excel. Implements the CoupNum Excel function. Look at Excel documentation for more information. Creates a new implementation. Override this method to specialize BaseBondsImpl See Excel docs for description of this function. See Excel. See Excel. See Excel. See Excel. Implements the CoupPCD Excel function. Look at Excel documentation for more information. Creates a new implementation. Override this method to specialize BaseBondsImpl See Excel docs for description of this function. See Excel. See Excel. See Excel. See Excel. Implements the Dec2Bin Excel function. Look at Excel documentation for more information. Creates a new implementation. Implement this method to specialize BaseBinHexImpl class. Implements the Dec2Hex Excel function. Look at Excel documentation for more information. Creates a new implementation. Implement this method to specialize BaseBinHexImpl class. Implements the Dec2Oct Excel function. Look at Excel documentation for more information. Creates a new implementation. Implement this method to specialize BaseBinHexImpl class. Implements the Delta Excel function. Look at Excel documentation for more information. Creates a new implementation. Evaluates the function. Look At Excel docs for parameters. Implements the DollarDe Excel function. Look at Excel documentation for more information. Creates a new implementation. Evaluates the function. Look At Excel docs for parameters. Implements the DollarDe Excel function. Look at Excel documentation for more information. Creates a new implementation. Evaluates the function. Look At Excel docs for parameters. Implements the Duration and MDuration addin functions. Returns the [modified] Macauley duration for a security with an assumed par value of $100. Creates a new Duration/MDuration implementation. Duration/MDuration implementation. You can call this method on its own. If true, we return MDuration, if not, Duration. See Excel. See Excel. See Excel. See Excel. See Excel. See Excel. Evaluates the DURATION/MDURATION function. Look At Excel docs for parameters. Implements the EDate addin function. Returns the serial number that represents the date that is the indicated number of months before or after a specified date (the start_date). Use EDATE to calculate maturity dates or due dates that fall on the same day of the month as the date of issue. Creates a new EDate implementation. Evaluates the EDate function. Implements the Effect Excel function. Look at Excel documentation for more information. Creates a new implementation. Evaluates the function. Look At Excel docs for parameters. Implements the EOMonth Excel function. Look at Excel documentation for more information. Creates a new implementation. Evaluates the function. Look At Excel docs for parameters. Implements the FactDouble Excel function. Look at Excel documentation for more information. Creates a new implementation. Evaluates the function. Look At Excel docs for parameters. Implements the GCD Excel function. Look at Excel documentation for more information. Creates a new implementation. Implements the GeStep Excel function. Look at Excel documentation for more information. Creates a new implementation. Evaluates the function. Look At Excel docs for parameters. Implements the Hex2Bin Excel function. Look at Excel documentation for more information. Creates a new implementation. Implement this method to specialize BaseBinHexImpl class. Implements the Hex2Dec Excel function. Look at Excel documentation for more information. Creates a new implementation. Implement this method to specialize BaseBinHexImpl class. Implements the Hex2Oct Excel function. Look at Excel documentation for more information. Creates a new implementation. Implement this method to specialize BaseBinHexImpl class. Implements the IsEven Excel function. Look at Excel documentation for more information. Creates a new implementation. Evaluates the function. Look At Excel docs for parameters. Implements the IsOdd Excel function. Look at Excel documentation for more information. Creates a new implementation. Evaluates the function. Look At Excel docs for parameters. Implements the LCM Excel function. Look at Excel documentation for more information. Creates a new implementation. Implements the MRound Excel function. Look at Excel documentation for more information. Creates a new implementation. Evaluates the function. Look At Excel docs for parameters. Implements the Multinomial Excel function. Look at Excel documentation for more information. Creates a new implementation. Evaluates the function. Look At Excel docs for parameters. Implements the NetWorkDays Excel function. Look at Excel documentation for more information. Creates a new implementation. Evaluates the function. Look At Excel docs for parameters. Implements the Nominal Excel function. Look at Excel documentation for more information. Creates a new implementation. Evaluates the function. Look At Excel docs for parameters. Implements the Oct2Bin Excel function. Look at Excel documentation for more information. Creates a new implementation. Implement this method to specialize BaseBinHexImpl class. Implements the Oct2Dec Excel function. Look at Excel documentation for more information. Creates a new implementation. Implement this method to specialize BaseBinHexImpl class. Implements the Oct2Hex Excel function. Look at Excel documentation for more information. Creates a new implementation. Implement this method to specialize BaseBinHexImpl class. Implements the Quotient Excel function. Look at Excel documentation for more information. Creates a new implementation. Evaluates the function. Look At Excel docs for parameters. Implements the Quotient Excel function. Look at Excel documentation for more information. Creates a new implementation. Evaluates the function. Look At Excel docs for parameters. Implements the SeriesSum Excel function. Look at Excel documentation for more information. Creates a new implementation. Evaluates the function. Look At Excel docs for parameters. Implements the Quotient Excel function. Look at Excel documentation for more information. Creates a new implementation. Evaluates the function. Look At Excel docs for parameters. Enumerates different Basis parameters for financial functions like Duration. US method (NASD), 12 months of 30 days each Actual number of days in months, actual number of days in year Actual number of days in month, year has 360 days Actual number of days in month, year has 365 days European method, 12 months of 30 days each Implements the Weeknum Excel function. Look at Excel documentation for more information. Creates a new implementation. Evaluates the function. Look At Excel docs for parameters. Implements the WorkDay Excel function. Look at Excel documentation for more information. Creates a new implementation. Evaluates the function. Look At Excel docs for parameters. Implements the YearFrac Excel function. Look at Excel documentation for more information. Creates a new implementation. See Excel docs for description of this function. Evaluates the function. Look At Excel docs for parameters. An utility class to create bitmaps and wrap the error in a FlexCelException. Internal use. Returns a new bitmap. Height of the bitmap in pixels. Width of the bitmap in pixels. Creates a bitmap. Height of the bitmap in pixels. Width of the bitmap in pixels. Pixel Format. Represents a cell, including the row, column and sheet where it was read. Creates a new CellValue instance. Column where the cell was read. (1 based) Row where the cell was read. (1 based) Sheet where the cell was read. (1 based) Value of the cell. The possible objects here are the same as the returned by Format of the cell. Fill options for a chart element. Creates a new instance of this object. Foreground color for the pattern. Background color for the pattern. Pattern style. Background color for the pattern. Creates a deep copy of this object. Foreground color for the pattern. Pattern style. Line style options for an element of a chart. Creates a new ChartSeriesLineOptions instance. Line color. Line style. Line weight. Returns a deep copy of this object. Line color. Line weight. Line style. The definiton for a series, and the values of it. Creates a new empty instance. Creates a new instance and fills it with default values. Title of the series. Formula defining the Data for the series. Formula defining the Categories for the series. Evaluated value of the series title. Actual values for the series. Actual values for the categories. Index to the ChartOptions object that applies to this series. Index of this series on the file. Series number as shown on the Legend box. This might be different from the SeriesIndex if the order of the series is changed. See See Formula or text defining the Series Categories (normally the x Axis). Start with an "=" sign to enter a formula. Format on the cell where the data is. This format should be applied to the data if the data format for the axis or the label is null. Actual values for the Series Categories (normally the x Axis). Index to the ChartOptions object that applies to this series. Formula or values that define the series. For example, "=A1:A5" or {1,2,3}. Start with an "=" sign to enter a formula. Format on the cell where the data is. This format should be applied to the data if the data format for the axis or the label is null. Actual values for the series. Options for the legend entry associated with this series. (when legend is showing series), or with a point on the series. (when legend is showing all the entries on series[0], for example on pie charts) Options for this series and their data points. -1 means the whole series, and n is options for the n-point. Index of this series on the file. Series number as shown on the Legend box. This might be different from the if the order of the series is changed. Formula or text defining the Series caption. Start with an "=" sign to enter a formula. Evaluated text of the title. Fill options for a series or a point inside a series. Creates a new instance of this object. Foreground color for the pattern. Background color for the pattern. Pattern style. When true, fill colors are assigned automatically. When true and values of the series are negative, foreground and background colors are reversed. When true, fill colors are assigned automatically. Returns a deep copy of this object. When true and values of the series are negative, foreground and background colors are reversed. Line style options for a series or a point inside a series. Creates a new ChartSeriesLineOptions instance. Line color. Line style. Line weight. When true, line colors are assigned automatically. When true, line colors are assigned automatically. Returns a deep copy of this object. Marker options for the whole series or a point in the series when the chart is line or scatter. Creates a new ChartSeriesMarkerOptions instance. Color of the marker lines. Color of the marker fill. Type of marker. When true, marker colors are assigned automatically. When true, the marker has no fill. When true, the marker has no lines. Marker size. When true, marker colors are assigned automatically. Color of the marker fill. Returns a deep copy of this object. Color of the marker lines. Size of the marker. Type of marker. When true, the marker has no fill. When true, the marker has no lines. Misc options for the whole series or a point in the series that do no enter in any other category. Creates a new ChartSeriesMiscOptions instance. Draw bubbles with 3D effects. Series has shadow. Lines should be smoothed (line and scatter charts). Draw bubbles with 3D effects. Returns a deep copy of this object. Series has shadow. Lines should be smoothed (line and scatter charts). Options for the whole series or for a data point inside it. Creates a new instance of ChartSeriesOptions. Objects will be cloned, so you can change their values later and they will not change the value on this class. Point number where this options apply. -1 means that the options apply for the whole series. Fill options for the series or point. Line options for the series or point. If the chart type is pie, options for the pie. If it is not a pie chart, this value has no meaning. Color and shape of the markers on Line and Scatter charts. Misc Options. Returns a deep copy of this object. Extra options used to specify gradients, textures, etc. If this is no null, the color values are not used. Fill options for the series or point. Line options for the series or point. Color and shape of the markers on Line and Scatter charts. Other options not related to the specific parts. If the chart type is pie, options for the pie. If it is not a pie chart, this value has no meaning. Point number where this options apply. -1 means that the options apply for the whole series. Pie options for a series or a slice of the series when the chart is a pie chart. Creates a new ChartSeriesPieOptions instance. Distance of the pie slice from the center on percent of the pie diemeter. Returns a deep copy of this object. Distance of the pie slice from the center on percent of the pie diammeter. Handles how to convert a column from text when importing a text file. Try to convert it to a number, a date, etc. Keep the column as text, even if it can be converted to a number or other things. Do not import this column. Information for a chart inside a sheet or an object. Initializes a new instance of the class Adds a series to the chart. Definition of the new series Index of the newly added series. Returns the chart background if there is one defined, or null if there is none. Returns the type of chart and the options specific for that kind of chart. There might be more than one ChartOptions returned, since you can mix more than one type of chart on a simple chart. (One for each series). You need to look at the series ChartOptionsIndex to know to which one it refers. Returns the default font for Axis in the chart that do not have a font defined. Returns the default font for all text in the chart that do not have a font defined. Returns the default font for all labels in the chart that do not have a font defined. Deletes the graphic object at objectIndex. Use it with care, there are some graphics objects you don't want to remove (like comment boxes when you don't delete the associated comment.) Index of the object (1 based). Deletes the series at position index. Returns the axis information for this chart. Note that this might be more than one, if the chart has a secondary axis. Information about the Legend of the chart. Returns all the labels for the chart and the main title. Note that Axis have their labels defined inside their own definition. Label values. An object embedded inside a chart. Index of the object, between 1 and When true, shape options will be retrieved. As this can be a slow operation, only specify true when you really need those options. The properties for the embedded object. Returns a series definition. Index of the series you want to return. If false, this method will not return the series formulas, so it will be a little faster. If false, this method will not return the series values, so it will be a little faster and use less memory. If false, this method will not return the series options. series description. The number of objects that are embedded inside this chart. Defines how null cells will be plotted on the chart. Returns the count of series on this chart. Changes the labels for the chart. You should always get the values with , modify them, and change them back with this method. New labels for the chart. Changes the text inside an object of the chart. Index of the object, between 1 and Index to the child object you want to change the text. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Text you want to use. Use null to delete text from an AutoShape.
Sets a Serie value. Index of the serie to set. Series definition. Interface a FlexCel engine has to implement to be used with FlexCelReport. Initializes ExcelFile fields. The file we are working on. When we save the file with another name, it changes. When we open a stream, it is set to "". This value is also used to get the text of Headers and Footers (when using the filename macro). When using the filename macro on headers/footers, make sure you set this value to what you want. The Sheet where we are working on, 1-based(First sheet is 1, not 0). Always set this property before working on a file. You can read or write this value. The sheet where we are working on, referred by name instead of by index. To change the active sheet name, use Adds a button to the sheet, with the associated macro. Position for the button. Text that will be shown in the button. Name for the inserted button. Macro associated with the button. Adds a checkbox to the active sheet. Position for the checkbox. Text for the checkbox. Value of the checkbox. Cell that will be linked to the checkbox. If you don't want to link the checkbox to a cell, make this parameter null. Name that will be given to the checkbox. Object Index of the inserted checkbox (1 based). Adds a checkbox to the active sheet. Position for the checkbox. Text for the checkbox. Value of the checkbox. Cell that will be linked to the checkbox. If you don't want to link the checkbox to a cell, make this parameter null. Name that will be given to the checkbox. Object Index of the inserted checkbox (1 based). Adds a ComboBox to the active sheet. Position for the combobox. Name of the inserted combobox. Cell that will be linked to the combobox. Set this to null to not link any cell. Range of cells with the values that the combobox will display. Item that will be selected, starting at 1. 0 means no selected item. Object Index of the inserted combobox (1 based). Adds a new Data Validation to a specified range. Range of cells where we will apply the Data Validation. Validation information. Adds a new font to the excel font list. If it already exists, it doesn't add a new one, so you can use this method for searching too. Font to add to the list. The position on the list for the added font. Adds a new format to the Excel format list. If it already exists, it doesn't add a new one, so you can use this method for searching too. Format to add to the list. Position on the list for the format. Adds a Group box to the active sheet. Call to insert radio buttons inside the group box. Position for the group box. Text for the group box. Name for the inserted Group box Object Index of the inserted group box (1 based). Adds a Group box to the active sheet. Call to insert radio buttons inside the group box. Position for the group box. Text for the group box. Name for the inserted Group box Object Index of the inserted group box (1 based). Adds a new hyperlink to the Active sheet. Use to modify an existing one. Range of cells the hyperlink will refer to. Description of the hyperlink. Adds an image to the active sheet. It will try to automatically guess/convert the image type of the data to the better fit. Image data. Image Properties. Adds an image to the active sheet. byte array with the image data. Type of image you are inserting (bmp, jpg, etc). Placement and other properties of the image. WARNING! Not CF compliant. If you don't have the image already created, prefer using , as it is faster. Image to insert. Image size/position WARNING! Not CF compliant. If you don't have the image already created, prefer using , as it is faster. Image to insert. Row Index (1 based) Column Index (1 based) Adds an image to the active sheet. Stream containing the image data. Placement and other properties of the image. Adds an image to the active sheet. Stream containing the image data. Type of image you are inserting (bmp, jpg, etc). Placement and other properties of the image. Adds a Label to the active sheet. Position for the label. Text for the label. Name of the inserted label. Object Index of the inserted listbox (1 based). Adds a ListBox to the active sheet. Position for the listbox. Name of the inserted listbox. Cell that will be linked to the listbox. Set this to null to not link any cell. Range of cells with the values that the listbox will display. How items are selected in the lisbox. Item that will be selected, starting at 1. 0 means no selected item. Object Index of the inserted listbox (1 based). Adds a radio button to the active sheet. Call to insert a group box for grouping the radio buttons. Position for the radio button. Text for the radio button. Name of the inserted radio button. Object Index of the inserted radio button (1 based). Adds a radio button to the active sheet. Call to insert a group box for grouping the radio buttons. Position for the radio button. Text for the radio button. Name of the inserted radio button. Object Index of the inserted radio button (1 based). Adds a ScrollBar to the active sheet. Position for the ScrollBar. Name of the inserted ScrollBar. Cell that will be linked to the ScrollBar. Set this to null to not link any cell. Properties for the ScrollBar. Object Index of the inserted ScrollBar (1 based). Inserts an empty sheet at the end of the file. This is equivalent to calling InsertAndCopySheets(0, SheetCount, 1). If you need to insert more than one sheet, or insert it at the middle of existing sheets, use instead. Adds a Spinner to the active sheet. Position for the spinner. Name of the inserted spinner. Cell that will be linked to the spinner. Set this to null to not link any cell. Properties for the spinner. Object Index of the inserted spinner (1 based). Adds a custom formula function to the FlexCel recalculation engine. Note that this formulas are only valid for Excel custom formulas, not for internal ones. For example, you could define "EDATE" since it is a custom formula defined in the Analisis Addin, but you cannot redefine "SUM". Note that if a custom formula with the name already exists, it will be replaced. Names are Case insensitive ("Date" is the same as "DATE").

Also note that some user defined functions come already built in in FlexCel, so you might not need to define them. For more information on adding Custom Formulas make sure you read the PDF documentation and take a look at the demo.
Defines if the custom function will be available globally to all ExcelFile instances or only to the ExcelFile instance where it was added. It is recommended to add functions globally, unless you have different xls files with functions that might have the same name but could be implemented different. Defines if the function will be inserted as a reference to a macro in the local sheet or in an external book or addin. This parameter is used only when adding formulas with user defined functions to a sheet. It is not needed or used when recalculating those functions or when reading the text of a formula. Formula function we want to add.
Determines if a call to "Save()" will automatically overwrite an existing file or not. Autofits a column so it adapts its width to show all the text inside. Column to Autofit. When true, strings will not be considered for the autofit. Only numbers will. You will normally want to set this parameter to 1, which means that autofit will be made with standard measurements. If you set it to for example 1.1, then columns will be adjusted to 110% percent of what their calculated width was. Use this parameter to fine-tune autofiting, if for example columns are too small when opening the file in Excel. Autofits a range of columns so they adapt their width to show all the text inside. First column to Autofit. Last column to Autofit. When true, strings will not be considered for the autofit. Only numbers will. You will normally want to set this parameter to 1, which means that autofit will be made with standard measurements. If you set it to for example 1.1, then columns will be adjusted to 110% percent of what their calculated width was. Use this parameter to fine-tune autofiting, if for example columns are too small when opening the file in Excel. Autofits a range of columns so they adapt their width to show all the text inside. First column to Autofit. Last column to Autofit. When true, strings will not be considered for the autofit. Only numbers will. You will normally want to set this parameter to 1, which means that autofit will be made with standard measurements. If you set it to for example 1.1, then columns will be adjusted to 110% percent of what their calculated width was. Use this parameter to fine-tune autofiting, if for example columns are too small when opening the file in Excel. You will normally set this parameter to 0, which means standard autofit. If you set it to a value, the column will be made larger by that ammount from the calculated autofit. Different from the "adjustment" parameter, this parameter adds a fixed size to the column and not a percentage. The final size of the column will be: FinalSize = CalulatedAutoFit * adjustment + adjusmentFixed Minimum final width for the column to autofit. If the calculated value is less than minWidth, column size will be set to minWidth.
A negative value on minWidth means the column size will be no smaller than the original width. Maximum final width for the column to autofit. If the calculated value is more than maxWidth, column size will be set to maxWidth.
maxWidth = 0 means no maxWidth.
A negative value on maxWidth means the column size will be no bigger than the original width.
Autofits a range of columns so they adapt their width to show all the text inside. First column to Autofit. Last column to Autofit. When true, strings will not be considered for the autofit. Only numbers will. You will normally want to set this parameter to 1, which means that autofit will be made with standard measurements. If you set it to for example 1.1, then columns will be adjusted to 110% percent of what their calculated width was. Use this parameter to fine-tune autofiting, if for example columns are too small when opening the file in Excel. You will normally set this parameter to 0, which means standard autofit. If you set it to a value, the column will be made larger by that ammount from the calculated autofit. Different from the "adjustment" parameter, this parameter adds a fixed size to the column and not a percentage. The final size of the column will be: FinalSize = CalulatedAutoFit * adjustment + adjusmentFixed Minimum final width for the column to autofit. If the calculated value is less than minWidth, column size will be set to minWidth.
A negative value on minWidth means the column size will be no smaller than the original width. Maximum final width for the column to autofit. If the calculated value is more than maxWidth, column size will be set to maxWidth.
maxWidth = 0 means no maxWidth.
A negative value on maxWidth means the column size will be no bigger than the original width. Specifies which column in a merged cell using more than one column will be used to autofit the merged cell. If you don't specify this parameter, it will be the last column.
Autofits all the rows and columns on a sheet that have been previously marked with the and methods. When true, no modifications will be done to the "autofit" status of the rows. When false, all rows will be marked as "no autofit", so when you open this file in Excel it will not be resized by Excel, and the sizes when printing/export to pdf from Excel will be the same as FlexCel, even when some cells might appear "cut" when printing on Excel. When true, cells containing strings will not be autofitted. You will normally want to set this parameter to 1, which means that autofit will be made with standard measurements. If you set it to for example 1.1, then columns and rows will be adjusted to 110% percent of what their calculated width and heigth was. Use this parameter to fine-tune autofiting, if for example columns are too small when opening the file in Excel. Autofits all the rows and columns on a sheet that have been previously marked with the and methods. When true, no modifications will be done to the "autofit" status of the rows. When false, all rows will be marked as "no autofit", so when you open this file in Excel it will not be resized by Excel, and the sizes when printing/export to pdf from Excel will be the same as FlexCel, even when some cells might appear "cut" when printing on Excel. When true, cells containing strings will not be autofitted. You will normally want to set this parameter to 1, which means that autofit will be made with standard measurements. If you set it to for example 1.1, then columns and rows will be adjusted to 110% percent of what their calculated width and heigth was. Use this parameter to fine-tune autofiting, if for example columns are too small when opening the file in Excel. You will normally set this parameter to 0, which means standard autofit. If you set it to a value, the row will be made larger by that ammount from the calculated autofit. Different from the "adjustment" parameter, this parameter adds a fixed size to the row and not a percentage. The final size of the row will be: FinalSize = CalulatedAutoFit * adjustment + adjusmentFixed Minimum final height for the row to autofit. If the calculated value is less than minHeight, row size will be set to minHeight.
A negative value on minHeight means the row size will be no smaller than the original height. Maximum final height for the row to autofit. If the calculated value is more than maxHeigth, row size will be set to maxHeight.
maxHeight = 0 means no maxHeight.
A negative value on maxHeight means the row size will be no bigger than the original height. Minimum final width for the column to autofit. If the calculated value is less than minWidth, column size will be set to minWidth.
A negative value on minWidth means the column size will be no smaller than the original width. Maximum final width for the column to autofit. If the calculated value is more than maxWidth, column size will be set to maxWidth.
maxWidth = 0 means no maxWidth.
A negative value on maxWidth means the column size will be no bigger than the original width.
Autofits all the rows and columns on a sheet that have been previously marked with the and methods. When true, no modifications will be done to the "autofit" status of the rows. When false, all rows will be marked as "no autofit", so when you open this file in Excel it will not be resized by Excel, and the sizes when printing/export to pdf from Excel will be the same as FlexCel, even when some cells might appear "cut" when printing on Excel. When true, cells containing strings will not be autofitted. You will normally want to set this parameter to 1, which means that autofit will be made with standard measurements. If you set it to for example 1.1, then columns and rows will be adjusted to 110% percent of what their calculated width and heigth was. Use this parameter to fine-tune autofiting, if for example columns are too small when opening the file in Excel. You will normally set this parameter to 0, which means standard autofit. If you set it to a value, the row will be made larger by that ammount from the calculated autofit. Different from the "adjustment" parameter, this parameter adds a fixed size to the row and not a percentage. The final size of the row will be: FinalSize = CalulatedAutoFit * adjustment + adjusmentFixed Minimum final height for the row to autofit. If the calculated value is less than minHeight, row size will be set to minHeight.
A negative value on minHeight means the row size will be no smaller than the original height. Maximum final height for the row to autofit. If the calculated value is more than maxHeigth, row size will be set to maxHeight.
maxHeight = 0 means no maxHeight.
A negative value on maxHeight means the row size will be no bigger than the original height. Minimum final width for the column to autofit. If the calculated value is less than minWidth, column size will be set to minWidth.
A negative value on minWidth means the column size will be no smaller than the original width. Maximum final width for the column to autofit. If the calculated value is more than maxWidth, column size will be set to maxWidth.
maxWidth = 0 means no maxWidth.
A negative value on maxWidth means the column size will be no bigger than the original width. Specifies which row in a merged cell using more than one row, or which column in a merged cell with more than one column will be used to autofit the merged cell. If you don't specify this parameter, it will be the last row or column in the merged range.
Autofits a row so it adapts its height to show all the text inside. It does not matter if the row is set to Autofit or not in Excel. Note that due to GDI+ / GDI incompatibilities, the height calculated by FlexCel will not be exactly the same than the one calculated by Excel. So when you open this workbook in Excel, Excel will re calculate the row heights to what it believe is best. You can change this behaviour specifying keepHeightAutomatic = false. Row to Autofit. If true, rows will be still autoheight when you open the file in Excel, so Excel will recalculate the values, probably changing the page breaks. If you set it to false, rows will be fixed in size, and when you open it on Excel they will remain so. You will normally want to set this parameter to 1, which means that autofit will be made with standard measurements. If you set it to for example 1.1, then rows will be adjusted to 110% percent of what their calculated height was. Use this parameter to fine-tune autofiting, if for example rows are too small when opening the file in Excel. Autofits a range of rows so they adapt their height to show all the text inside. Note that due to GDI+ / GDI incompatibilities, the height calculated by FlexCel will not be exactly the same than the one calculated by Excel. So when you open this workbook in Excel, Excel will re calculate the row heights to what it believe is best. You can change this behaviour specifying keepHeightAutomatic = false. First row to autofit. Last row to autofit. When you are autofitting a range of rows, some rows might not be set to Autofit in Excel. When this parameter is true, those rows will be autofitted anyway. If true, rows will be still autoheight when you open the file in Excel, so Excel will recalculate the values, probably changing the page breaks. If you set it to false, rows will be fixed in size, and when you open it on Excel they will remain so. You will normally want to set this parameter to 1, which means that autofit will be made with standard measurements. If you set it to for example 1.1, then rows will be adjusted to 110% percent of what their calculated height was. Use this parameter to fine-tune autofiting, if for example rows are too small when opening the file in Excel. Autofits a range of rows so they adapt their height to show all the text inside. Note that due to GDI+ / GDI incompatibilities, the height calculated by FlexCel will not be exactly the same than the one calculated by Excel. So when you open this workbook in Excel, Excel will re calculate the row heights to what it believe is best. You can change this behaviour specifying keepHeightAutomatic = false. First row to autofit. Last row to autofit. When you are autofitting a range of rows, some rows might not be set to Autofit in Excel. When this parameter is true, those rows will be autofitted anyway. If true, rows will be still autoheight when you open the file in Excel, so Excel will recalculate the values, probably changing the page breaks. If you set it to false, rows will be fixed in size, and when you open it on Excel they will remain so. You will normally want to set this parameter to 1, which means that autofit will be made with standard measurements. If you set it to for example 1.1, then rows will be adjusted to 110% percent of what their calculated height was. Use this parameter to fine-tune autofiting, if for example rows are too small when opening the file in Excel. You will normally set this parameter to 0, which means standard autofit. If you set it to a value, the row will be made larger by that ammount from the calculated autofit. Different from the "adjustment" parameter, this parameter adds a fixed size to the row and not a percentage. The final size of the row will be: FinalSize = CalulatedAutoFit * adjustment + adjusmentFixed Minimum final height for the row to autofit. If the calculated value is less than minHeight, row size will be set to minHeight.
A negative value on minHeight means the row size will be no smaller than the original height. Maximum final height for the row to autofit. If the calculated value is more than maxHeigth, row size will be set to maxHeight.
maxHeight = 0 means no maxHeight.
A negative value on maxHeight means the row size will be no bigger than the original height.
Autofits a range of rows so they adapt their height to show all the text inside. Note that due to GDI+ / GDI incompatibilities, the height calculated by FlexCel will not be exactly the same than the one calculated by Excel. So when you open this workbook in Excel, Excel will re calculate the row heights to what it believe is best. You can change this behaviour specifying keepHeightAutomatic = false. First row to autofit. Last row to autofit. When you are autofitting a range of rows, some rows might not be set to Autofit in Excel. When this parameter is true, those rows will be autofitted anyway. If true, rows will be still autoheight when you open the file in Excel, so Excel will recalculate the values, probably changing the page breaks. If you set it to false, rows will be fixed in size, and when you open it on Excel they will remain so. You will normally want to set this parameter to 1, which means that autofit will be made with standard measurements. If you set it to for example 1.1, then rows will be adjusted to 110% percent of what their calculated height was. Use this parameter to fine-tune autofiting, if for example rows are too small when opening the file in Excel. You will normally set this parameter to 0, which means standard autofit. If you set it to a value, the row will be made larger by that ammount from the calculated autofit. Different from the "adjustment" parameter, this parameter adds a fixed size to the row and not a percentage. The final size of the row will be: FinalSize = CalulatedAutoFit * adjustment + adjusmentFixed Minimum final height for the row to autofit. If the calculated value is less than minHeight, row size will be set to minHeight.
A negative value on minHeight means the row size will be no smaller than the original height. Maximum final height for the row to autofit. If the calculated value is more than maxHeigth, row size will be set to maxHeight.
maxHeight = 0 means no maxHeight.
A negative value on maxHeight means the row size will be no bigger than the original height. Specifies which row in a merged cell using more than one row will be used to autofit the merged cell. If you don't specify this parameter, it will be the last row.
Autofits all rhe rows on all sheets on a workbook that are set to autofit so they adapt their height to show all the text inside. Note that due to GDI+ / GDI incompatibilities, the heights calculated by FlexCel will not be exactly the same than the ones calculated by Excel. So when you open this workbook in Excel, Excel might re calculate the row heights to what it believe is best. You can change this behaviour specifying keepSizesAutomatic = false. THIS METHOD DOES NOT WORK ON COMPACT FRAMEWORK. When you are autofitting a range of rows, some rows might not be set to Autofit in Excel. When this parameter is true, those rows will be autofitted anyway. When true, no modifications will be done to the "autofit" status of the rows. When false, all rows will be marked as "no autofit", so when you open this file in Excel it will not be resized by Excel, and the printing/export to pdf from Excel will be the same as FlexCel. You will normally want to set this parameter to 1, which means that autofit will be made with standard measurements. If you set it to for example 1.1, then rows will be adjusted to 110% percent of what their calculated height was. Use this parameter to fine-tune autofiting, if for example rows are too small when opening the file in Excel. Autofits all rhe rows on all sheets on a workbook that are set to autofit so they adapt their height to show all the text inside. Note that due to GDI+ / GDI incompatibilities, the heights calculated by FlexCel will not be exactly the same than the ones calculated by Excel. So when you open this workbook in Excel, Excel might re calculate the row heights to what it believe is best. You can change this behaviour specifying keepSizesAutomatic = false. THIS METHOD DOES NOT WORK ON COMPACT FRAMEWORK. When you are autofitting a range of rows, some rows might not be set to Autofit in Excel. When this parameter is true, those rows will be autofitted anyway. When true, no modifications will be done to the "autofit" status of the rows. When false, all rows will be marked as "no autofit", so when you open this file in Excel it will not be resized by Excel, and the printing/export to pdf from Excel will be the same as FlexCel. You will normally want to set this parameter to 1, which means that autofit will be made with standard measurements. If you set it to for example 1.1, then rows will be adjusted to 110% percent of what their calculated height was. Use this parameter to fine-tune autofiting, if for example rows are too small when opening the file in Excel. You will normally set this parameter to 0, which means standard autofit. If you set it to a value, the row will be made larger by that ammount from the calculated autofit. Different from the "adjustment" parameter, this parameter adds a fixed size to the row and not a percentage. The final size of the row will be: FinalSize = CalulatedAutoFit * adjustment + adjusmentFixed Minimum final height for the row to autofit. If the calculated value is less than minHeight, row size will be set to minHeight.
A negative value on minHeight means the row size will be no smaller than the original height. Maximum final height for the row to autofit. If the calculated value is more than maxHeigth, row size will be set to maxHeight.
maxHeight = 0 means no maxHeight.
A negative value on maxHeight means the row size will be no bigger than the original height.
Autofits all rhe rows on all sheets on a workbook that are set to autofit so they adapt their height to show all the text inside. Note that due to GDI+ / GDI incompatibilities, the heights calculated by FlexCel will not be exactly the same than the ones calculated by Excel. So when you open this workbook in Excel, Excel might re calculate the row heights to what it believe is best. You can change this behaviour specifying keepSizesAutomatic = false. THIS METHOD DOES NOT WORK ON COMPACT FRAMEWORK. When you are autofitting a range of rows, some rows might not be set to Autofit in Excel. When this parameter is true, those rows will be autofitted anyway. When true, no modifications will be done to the "autofit" status of the rows. When false, all rows will be marked as "no autofit", so when you open this file in Excel it will not be resized by Excel, and the printing/export to pdf from Excel will be the same as FlexCel. You will normally want to set this parameter to 1, which means that autofit will be made with standard measurements. If you set it to for example 1.1, then rows will be adjusted to 110% percent of what their calculated height was. Use this parameter to fine-tune autofiting, if for example rows are too small when opening the file in Excel. You will normally set this parameter to 0, which means standard autofit. If you set it to a value, the row will be made larger by that ammount from the calculated autofit. Different from the "adjustment" parameter, this parameter adds a fixed size to the row and not a percentage. The final size of the row will be: FinalSize = CalulatedAutoFit * adjustment + adjusmentFixed Minimum final height for the row to autofit. If the calculated value is less than minHeight, row size will be set to minHeight.
A negative value on minHeight means the row size will be no smaller than the original height. Maximum final height for the row to autofit. If the calculated value is more than maxHeigth, row size will be set to maxHeight.
maxHeight = 0 means no maxHeight.
A negative value on maxHeight means the row size will be no bigger than the original height. Specifies which row in a merged cell using more than one row will be used to autofit the merged cell. If you don't specify this parameter, it will be the last row.
This method will create manual page breaks in the sheet to try to keep together the rows and columns marked with and . It might be desirable to clear all manual page breaks (with ) before calling this method, so it has more freedom to place the new ones. If you call this method twice without removing the old page breaks, it will add the page breaks to the existing ones. This method will create manual page breaks in the sheet to try to keep together the rows and columns marked with and . It might be desirable to clear all manual page breaks (with ) before calling this method, so it has more freedom to place the new ones. If you call this method twice without removing the old page breaks, it will add the page breaks to the existing ones. Percentage of the sheet that must be used in any page when fitting the rows and columns. A value of zero means that no part of the sheet must be used, so FlexCel might add a page break after a single row in a page, leaving it almost completely blank.
A value of 50% means that half of the page must be used. This means that FlexCel will add a page break only if there is 50% of the current page already used.
A value of 100% will do nothing, since the sheet must be completely used, and so FlexCel can never add a page break.
You can customize a custom page size here. If width or height of this parameter is 0, the paper size specified in the file will be used. There is normaly no need to set this parameter, unless you want to fine tune the results.
This method will create manual page breaks in the sheet to try to keep together the rows and columns marked with and . It might be desirable to clear all manual page breaks (with ) before calling this method, so it has more freedom to place the new ones. If you call this method twice without removing the old page breaks, it will add the page breaks to the existing ones. Percentage of the sheet that must be used in any page when fitting the rows and columns. A value of zero means that no part of the sheet must be used, so FlexCel might add a page break after a single row in a page, leaving it almost completely blank.
A value of 50% means that half of the page must be used. This means that FlexCel will add a page break only if there is 50% of the current page already used.
A value of 100% will do nothing, since the sheet must be completely used, and so FlexCel can never add a page break.
This parameter must be between 50 and 100, and means how much smaller page will be considered in order to calculate the page breaks.
A value of 100 means that the size used in the calculation will be the real size of the page, and while this will always work fine when exporting to pdf or exporting to images, when printing from Excel might result in a page break that is placed a little after where it should go and an empty page for certain printers. (Page size in Excel is different for different printers) Normally a value around 95 is the recommended value for this parameter.
If you need to do a finer grain adjustment, you can use .
Sends the graphical object to the top layer on the display (z-order) position. It will show above and will cover all other objects on the sheet. Index of the object to move. (1 based) Merged Range where the cell is. Row Index (1 based) Column Index (1 based) The range where the cell is The Merged cell at position index on the mergedcell list. index on the list (1 based) The merged cell at position index. For using with on a loop: for (int i=1;i <= CellMergedListCount;i++) DoSomething(CellMergedList(i))... Returns the height and width that would be used by a range of cells (in Points, or 1/72 inches). First row (1 based). If you use a value less or equal than 0 here, this method will return the full sheet dimensions. First column (1 based). If you use a value less or equal than 0 here, this method will return the full sheet dimensions. Last row (1 based). If you use a value less or equal than 0 here, this method will return the full sheet dimensions. Last colum (1 based). If you use a value less or equal than 0 here, this method will return the full sheet dimensions. If true, the dimensions reported will include all margins in the sheet. Returns the count of charts on this sheet. Please take note that this method will not return the number of embedded objects with charts inside in a sheet, but just the number of charts in the sheet.
In simpler terms, this method will return 0 for all worksheets, and 1 for all chart sheets. This is not a very useful method, but it needs to be this way to be consistent with . So, looping like this: for (int i=1; i<= xls.ChartCount; i++) { xls.GetChart(i, null); } will loop 0 times for worksheets and 1 time for workbooks.
To see how to loop over all objects in a sheet, use the example in the example section of the topic.
Clears all data validation entries in the active sheet. Clears all data validation entries inside the specified range. Range of cells where data validation will be cleared. Clears the image at position imageIndex, leaving an empty white box. Index of the image to clear. (1 based) Clears all the "KeepTogether" links in the current page. Deletes all manual page breaks on the active sheet. Clears all data on the active sheet, but does not delete it. Removes all the custom formula functions from the FlexCel recalculation engine. Number of columns actually used on the active sheet. Note that this method is *slow* as it need to loop over all the rows to find out the biggest used column. Never use it in a loop like "for (int col = 1; col <= xls.ColCount; col++)". Instead try to use . If you *need* to use ColCount, cache its value first: int RowCount = xls.RowCount; int ColCount = xls.ColCount; for (int row = 1; row <= RowCount; row++) { for (int col = 1; col <= ColCount; col++) { Remember that loops in C# will evaluate the second parameter every time the loop is executed. This method returns the existing columns on ONE ROW. You can use this together with and to iterate faster on a block. Row index. (1-based) The number of existing columns on one row. This method returns the existing columns on ONE ROW, for a given sheet. You can use this together with and to iterate faster on a block. Sheet where we are working. It might be different from ActiveSheet. Row index. (1-based) The number of existing columns on one row. This is the column (1 based) for a given ColIndex. See for an example. Row (1 based) The index on the column list for the row. (1 based) The column (1 based) for the corresponding item. This is the column (1 based) for a given ColIndex and sheet. See for an example. Sheet where we are working. It might be different from ActiveSheet. Row (1 based) The index on the column list for the row. (1 based) The column (1 based) for the corresponding item. Collapses or expands the column outlines in a sheet to the specified level. It is equivalent to pressing the numbers at the left of the outline gutter in Excel. Level that we want to display from the outline. (1 based). For example, setting Level = 3 is the same as pressing the "3" number at the left of the outline gutter in Excel. Setting Level = 1 will collapse all groups, Level = 8 will expand all groups. Determines if the children of the collapsed nodes will be collapsed too. Collapses or expands the column outlines in a sheet to the specified level. It is equivalent to pressing the numbers at the top of the outline gutter in Excel. Level that we want to display from the outline. (1 based). For example, setting Level = 3 is the same as pressing the "3" number at the left of the outline gutter in Excel. Setting Level = 1 will collapse all groups, Level = 8 will expand all groups. Determines if the children of the collapsed nodes will be collapsed too. This defines the first column of the range to collapse/expand. Only columns inside that range will be modified. This defines the last column of the range to collapse/expand. Only columns inside that range will be modified. Use this method to collapse a node of the outline. If the column is not a node ( is false) this method does nothing. While this method allows a better control of the columns expanded and collapsed, you will normally use to collapse or expand all columns in a sheet. Column to expand or collapse. (1 based) If true, the node will be collapsed, else it will be expanded. Use this method to collapse a node of the outline. If the row is not a node ( is false) this method does nothing. While this method allows a better control of the rows expanded and collapsed, you will normally use to collapse or expand all rows in a sheet. Row to expand or collapse (1 based) If true, the node will be collapsed, else it will be expanded. Collapses or expands the row outlines in a sheet to the specified level. It is equivalent to pressing the numbers at the top of the outline gutter in Excel. Level that we want to show of the outline. (1 based). For example, setting Level = 3 is the same as pressing the "3" number at the top of the outline gutter in Excel. Setting Level = 1 will collapse all groups, Level = 8 will expand all groups. Determines if the children of the collapsed nodes will be collapsed too. Collapses or expands the row outlines in a sheet to the specified level. It is equivalent to pressing the numbers at the top of the outline gutter in Excel. Level that we want to show of the outline. (1 based). For example, setting Level = 3 is the same as pressing the "3" number at the top of the outline gutter in Excel. Setting Level = 1 will collapse all groups, Level = 8 will expand all groups. Determines if the children of the collapsed nodes will be collapsed too. This defines the first row of the range to collapse/expand. Only rows inside that range will be modified. This defines the last row of the range to collapse/expand. Only rows inside that range will be modified. The number of entries on an Excel color palette. This is always 56. This is the inverse of . It will return the index on the internal column array from the row for an existing column. If the column doesn't exist, it will return the index of the "LAST existing column less than col", plus 1. Row (1 based) Column (1 based) The index on the column list for the row. (1 based) This is the inverse of . It will return the index on the internal column array from the row for an existing column. If the column doesn't exist, it will return the index of the "LAST existing column less than col", plus 1. Sheet where we are working. It might be different from ActiveSheet. Row (1 based) Column (1 based) The index on the column list for the row. (1 based) Number of comments on a given row. Row index (1 based) The number of comments on a given row. Maximum row index including comments. The maximum row with a comment. Modifies the format of the specified cell if it has a conditional format active. Returns a modified format with the applied conditional format if there was any change, null otherwise. Original format of the cell. Row of the cell (1 based) Column of the cell (1 based) If the format is modified by a conditional format, it returns the new format. If there are no changes returns null, to avoid creating new instances of TFlxFormat. Use it to convert the external names in a sheet to #REF! . It can be useful when you need to remove all external links in a file. NOTE: You will probably want to use too. Use it to convert formulas to their values. It can be useful if for example you are copying the sheet to another workbook, and you don't want any references to it. NOTE: You will probably want to use too, to convert named ranges besides the formulas.
Also note that if you want to convert a whole file, you need to call ConvertFormulasToValues in every sheet.
When true, it will only convert the formulas that do not refer to the same sheet. For example "=A1+Sheet2!A1" will be converted, but "=A2+A3" will not.
Converts a string into the best datatype (a boolean, a number, etc) RichString to convert. XF of the cell. It might be modified, for example, if you are entering a date. A list of formats allowed for dates and times. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. value converted to the best datatype. Converts a string into the best datatype (a boolean, a number, etc) RichString to convert. XF of the cell. It might be modified, for example, if you are entering a date. A list of formats allowed for dates and times. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. value converted to the best datatype. Copies one cell from one workbook to another. If the cell has a formula, it will be offset so it matches the new destination. Note: You will normally not need this method. To copy a range of cells from a workbook to another use instead. To copy a full sheet from one file to another, use . File from where we want to copy the cell. Sheet in sourceWorkbook where the data is. Sheet in this file where we want to copy the data. Row on the source file of the cell (1 based) Column on the source file of the cell (1 based) Row on the destination file of the cell (1 based) Column on the destination file of the cell (1 based) How the cell will be copied. Copies the active sheet to a clipboard stream, on native and text formats. StringBuilder where the text will be copied. Leave it null to not copy to text. Stream where the xls native info will be copied. Copies a range on the active sheet to a clipboard stream, on native and text formats. Range with the cells to copy. StringBuilder where the text will be copied. Leave it null to not copy to text. Stream where the xls native info will be copied. Returns the number of DataValidation structures in the active sheet. There are 2 ways you can access the data validation information on a sheet: If you know the row and column where you want to look, you can use to return the data validation in the cell.If you want to find out all data validation structures in the sheet, you can use , and to loop over all existing data validations. The default width for empty columns, in Excel internal units. (Character width of font 0 / 256) Determines the default file format used by Excel when saving a file without specifying one, and when the file format can't be determined from the extension of the file. If set to Automatic (The default) the file will be saved in the same format it was opened. That is, if you opened an xlsx file it will be saved as xlsx. If you opened an xls file (or created it with XlsFile.NewFile()) it will be saved as xls. When this property is automatic, text files will be saved as xls. Returns XF identifier for the style that applies to all empty cells. Note that this is different from the "Normal" style as defined inside Excel. This is a "Cell" format that can be applied to cells, while "Normal" is a "Style" format that is applied to this cell format. The default height for empty rows, in Excel internal units. (1/20th of a point). IMPORTANT: For this property to have any effect, you also need to set = false When this property is true, the row height for empty rows is calculated with the height of the "Normal" font and will change if you change the Normal style. When false, the value in will be used. Deletes all manual page breaks at row. If there is no manual page break on row, this method will do nothing. Row where to delete the Page break. Deletes an existing hyperlink. Index of the hyperlink (1 based). Deletes the image at position imageIndex. Index of the image to delete. (1 based) Deletes the name at the specified position. Important: If the name you are trying to delete is referenced by any formula/chart/whatever in your file, the name will not actually be deleted but hidden.
You won't see the name in Excel or in the formula, but it will be there and you can see it from FlexCel.
You can use to learn if a range might be deleted.
Also, note that if you later delete the formulas that reference those ranges FlexCel will remove those hanging ranges when saving. The only hidden ranges that will be present in the final file will be those that have active formulas referencing them.

Important:If the name wasn't deleted, will not change. This means that you can't have code like this: while (xls.NamedRangeCount > 0) //WRONG! This loop might never end. { xls.DeleteNamedRange(1); //Might not be deleted, and NamedRangeCount will never be 0. }
The correct code in this case would be: for (int i = xls.NamedRangeCount; i > 0; i--) xls.DeleteNamedRange(i);
For i = xls.NamedRangeCount To 1 Step -1 xls.DeleteNamedRange(i);
for i := xls.NamedRangeCount downto 1 do xls.DeleteNamedRange(i);
Index of the name to delete (1 based).
Deletes the graphic object at objectIndex. Use it with care, there are some graphics objects you don't want to remove (like comment boxes when you don't delete the associated comment.) Index of the object (1 based). Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3"
Deletes the graphic object at objectIndex. Use it with care, there are some graphics objects you don't want to remove (like comment boxes when you don't delete the associated comment.) Index of the object (1 based). Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3"
Deletes a range of cells, and moves all cells below up or all cells to the right left, depending on the insert mode. Range of cells to delete. Mode of deletion. Note that Row and Col are equivalent to ShiftRight and ShiftDown with a cell range of full rows or cols respectively. Deletes a range of cells, and moves all cells below up or all cells to the right left, depending on the insert mode. First sheet where to delete cells. Last sheet where to delete cells. Range of cells to delete. Mode of deletion. Note that Row and Col are equivalent to ShiftRight and ShiftDown with a cell range of full rows or cols respectively. Deletes the active sheet and aSheetCount-1 sheets more to the right. It will change all formula references to those sheets to invalid. Note that to add a sheet, you need to use The number of sheets to delete Returns a named style for the workbook. Name for the style. It must be an user defined name. Deletes all manual page breaks at col. If there is no manual page break on col, this method will do nothing. Column where to delete the Page break Document properties for the file. With this object you can read the properties (Author, Title, etc.) of a file. Determines if FlexCel will throw Exceptions or just ignore errors on specific situations. Evaluates a custom function you have added earlier with . You will not normally need to call this method, but it could be used for testing. If the function has not been added with , this method will return . Function you want to evaluate. Extra arguments you can use to evaluate the formula. Parameters for the formula. The result of evaluating the formula. It might be a string, a double, a boolean, a TFlxFormulaError or an Array. Empty files created by different versions of Excel can have different characteristics. For example, the default font in an Excel 2003 file is Arial, while the default in 2007 is Calibri. This property returns the version of file that is loaded into FlexCel. When calling or when opening a new file, FlexCel will update the value of this property. /// Defines the Excel mode used in this thread. Note that while on v2007 (the default) you still can make xls 97 spreadsheets, so the only reason to change this setting is if you have any compatibility issues (for example your code depends on a sheet having 65536 rows). IMPORTANT: Do NOT change this value after reading a workbook. Also, remember that the value is changed for all the reports in all threads. Exports a range of cells from the active sheet into a text file (character delimited columns). Stream where we want to save the file. Range of cells to export. If you want to export the full sheet, set it to null. Character used to delimit the fields in the exported file. You might normally use a comma (',') or a tab here. If true, hidden rows and columns will be exported. If false, they will be ignored. Encoding for the generated file. If you are unsure, you can use Encoding.Default here. Note that to create a file with BOM (byte order marker) you need to specify an encoding here, the same as you do with a StreamWriter. Exports a range of cells from the active sheet into a text file (fixed length columns). Stream where we want to save the file. Range of cells to export. If you want to export the full sheet, set it to null. This value only has effect if columnWidths is null. It will specify how many characters to use for the first column, and all other columns will be determinded acording to their ratio with the first.

For example, if the first column is 150 pixels wide and you specify "8" for this parameter, the first column will be padded to 8 characters when exporting. If the second column is 300 pixels wide, then it will be padded to 16 characters and so on. As this might not be 100% exact and depend in pixel measurements, you might want to specify columnWidths parameter instead of using this one.

Note: Setting this parameter to a negative value will assume the text in the collumns is already padded, and won't attempt to do any padding. Use this value if your data is padded in the spreadsheet itself. Array with the number of charaters that will be assigned to every column when exporting. Supplying this array allows you to specify exactly how many characters you want for every field, and that might be really necessary to interop with other applications. But you can also leave this parameter null and specify "charactersForFirstColumn" to let FlexCel calculate how many characters to apply for every field. If true, hidden rows and columns will be exported. If false, they will be ignored. Encoding for the generated file. If you are unsure, you can use Encoding.Default here. Note that to create a file with BOM (byte order marker) you need to specify an encoding here, the same as you do with a StreamWriter. If true and the cell text spans over more than one empty cell to the right, that text will be exported. When false (the default) only text that fits in the cell will be exported. When this value is true the printout will look better, but it will not be possible to reimport the data as the columns are lost.
Exports a range of cells from the active sheet into a text file (fixed length columns). Stream where we want to save the file. Range of cells to export. If you want to export the full sheet, set it to null. This value only has effect if columnWidths is null. It will specify how many characters to use for the first column, and all other columns will be determinded acording to their ratio with the first.

For example, if the first column is 150 pixels wide and you specify "8" for this parameter, the first column will be padded to 8 characters when exporting. If the second column is 300 pixels wide, then it will be padded to 16 characters and so on. As this might not be 100% exact and depend in pixel measurements, you might want to specify columnWidths parameter instead of using this one.

Note: Setting this parameter to a negative value will assume the text in the collumns is already padded, and won't attempt to do any padding. Use this value if your data is padded in the spreadsheet itself. Array with the number of charaters that will be assigned to every column when exporting. Supplying this array allows you to specify exactly how many characters you want for every field, and that might be really necessary to interop with other applications. But you can also leave this parameter null and specify "charactersForFirstColumn" to let FlexCel calculate how many characters to apply for every field. If true, hidden rows and columns will be exported. If false, they will be ignored. Encoding for the generated file. If you are unsure, you can use Encoding.Default here. Note that to create a file with BOM (byte order marker) you need to specify an encoding here, the same as you do with a StreamWriter. If true and the cell text spans over more than one empty cell to the right, that text will be exported. When false (the default) only text that fits in the cell will be exported. When this value is true the printout will look better, but it will not be possible to reimport the data as the columns are lost.
Exports a range of cells from the active sheet into a text file (character delimited columns). TextWriter where we want to save the file. Range of cells to export. If you want to export the full sheet, set it to null. Character used to delimit the fields in the exported file. You might normally use a comma (',') or a tab here. If true, hidden rows and columns will be exported. If false, they will be ignored. Exports a range of cells from the active sheet into a text file (fixed length columns). TextWriter where we want to save the file. Range of cells to export. If you want to export the full sheet, set it to null. This value only has effect if columnWidths is null. It will specify how many characters to use for the first column, and all other columns will be determinded acording to their ratio with the first.

For example, if the first column is 150 pixels wide and you specify "8" for this parameter, the first column will be padded to 8 characters when exporting. If the second column is 300 pixels wide, then it will be padded to 16 characters and so on. As this might not be 100% exact and depend in pixel measurements, you might want to specify columnWidths parameter instead of using this one.

Note: Setting this parameter to a negative value will assume the text in the collumns is already padded, and won't attempt to do any padding. Use this value if your data is padded in the spreadsheet itself. Array with the number of charaters that will be assigned to every column when exporting. Supplying this array allows you to specify exactly how many characters you want for every field, and that might be really necessary to interop with other applications. But you can also leave this parameter null and specify "charactersForFirstColumn" to let FlexCel calculate how many characters to apply for every field. If true, hidden rows and columns will be exported. If false, they will be ignored. If true and the cell text spans over more than one empty cell to the right, that text will be exported. When false (the default) only text that fits in the cell will be exported. When this value is true the printout will look better, but it will not be possible to reimport the data as the columns are lost.
Exports a range of cells from the active sheet into a text file (fixed length columns). TextWriter where we want to save the file. Range of cells to export. If you want to export the full sheet, set it to null. This value only has effect if columnWidths is null. It will specify how many characters to use for the first column, and all other columns will be determinded acording to their ratio with the first.

For example, if the first column is 150 pixels wide and you specify "8" for this parameter, the first column will be padded to 8 characters when exporting. If the second column is 300 pixels wide, then it will be padded to 16 characters and so on. As this might not be 100% exact and depend in pixel measurements, you might want to specify columnWidths parameter instead of using this one.

Note: Setting this parameter to a negative value will assume the text in the collumns is already padded, and won't attempt to do any padding. Use this value if your data is padded in the spreadsheet itself. Array with the number of charaters that will be assigned to every column when exporting. Supplying this array allows you to specify exactly how many characters you want for every field, and that might be really necessary to interop with other applications. But you can also leave this parameter null and specify "charactersForFirstColumn" to let FlexCel calculate how many characters to apply for every field. If true, hidden rows and columns will be exported. If false, they will be ignored. If true and the cell text spans over more than one empty cell to the right, that text will be exported. When false (the default) only text that fits in the cell will be exported. When this value is true the printout will look better, but it will not be possible to reimport the data as the columns are lost.
Exports a range of cells from the active sheet into a text file (character delimited columns). File where we want to save the data. Range of cells to export. If you want to export the full sheet, set it to null. Character used to delimit the fields in the exported file. You might normally use a comma (',') or a tab here. If true, hidden rows and columns will be exported. If false, they will be ignored. Encoding for the generated file. If you are unsure, you can use Encoding.Default here. Note that to create a file with BOM (byte order marker) you need to specify an encoding here, the same as you do with a StreamWriter. Exports a range of cells from the active sheet into a text file (fixed length columns). File where we want to save the data. Range of cells to export. If you want to export the full sheet, set it to null. This value only has effect if columnWidths is null. It will specify how many characters to use for the first column, and all other columns will be determinded acording to their ratio with the first.

For example, if the first column is 150 pixels wide and you specify "8" for this parameter, the first column will be padded to 8 characters when exporting. If the second column is 300 pixels wide, then it will be padded to 16 characters and so on. As this might not be 100% exact and depend in pixel measurements, you might want to specify columnWidths parameter instead of using this one.

Note: Setting this parameter to a negative value will assume the text in the collumns is already padded, and won't attempt to do any padding. Use this value if your data is padded in the spreadsheet itself. Array with the number of charaters that will be assigned to every column when exporting. Supplying this array allows you to specify exactly how many characters you want for every field, and that might be really necessary to interop with other applications. But you can also leave this parameter null and specify "charactersForFirstColumn" to let FlexCel calculate how many characters to apply for every field. If true, hidden rows and columns will be exported. If false, they will be ignored. Encoding for the generated file. If you are unsure, you can use Encoding.Default here. Note that to create a file with BOM (byte order marker) you need to specify an encoding here, the same as you do with a StreamWriter. If true and the cell text spans over more than one empty cell to the right, that text will be exported. When false (the default) only text that fits in the cell will be exported. When this value is true the printout will look better, but it will not be possible to reimport the data as the columns are lost.
Exports a range of cells from the active sheet into a text file (fixed length columns). File where we want to save the data. Range of cells to export. If you want to export the full sheet, set it to null. This value only has effect if columnWidths is null. It will specify how many characters to use for the first column, and all other columns will be determinded acording to their ratio with the first.

For example, if the first column is 150 pixels wide and you specify "8" for this parameter, the first column will be padded to 8 characters when exporting. If the second column is 300 pixels wide, then it will be padded to 16 characters and so on. As this might not be 100% exact and depend in pixel measurements, you might want to specify columnWidths parameter instead of using this one.

Note: Setting this parameter to a negative value will assume the text in the collumns is already padded, and won't attempt to do any padding. Use this value if your data is padded in the spreadsheet itself. Array with the number of charaters that will be assigned to every column when exporting. Supplying this array allows you to specify exactly how many characters you want for every field, and that might be really necessary to interop with other applications. But you can also leave this parameter null and specify "charactersForFirstColumn" to let FlexCel calculate how many characters to apply for every field. If true, hidden rows and columns will be exported. If false, they will be ignored. Encoding for the generated file. If you are unsure, you can use Encoding.Default here. Note that to create a file with BOM (byte order marker) you need to specify an encoding here, the same as you do with a StreamWriter. If true and the cell text spans over more than one empty cell to the right, that text will be exported. When false (the default) only text that fits in the cell will be exported. When this value is true the printout will look better, but it will not be possible to reimport the data as the columns are lost.
Returns the file format that the file had when it was opened. If the file was created with , the file format when opened is xls. Given a Page Header or footer string including macros (like [FileName] or [PageNo]), this method will return the strings that go into the left, right and middle sections. Header or footer text. Text that should be left justified. Text that should be centered. Text that should be right justified. Finds a value inside a cell and returns the position for the cell, or null if nothing was found. Value we are searching. Range to Search. Null means the whole worksheet. Cell where to start searching. For the first time, use null. After this, you can use the result of this method to get the next cell. If true, the value will be searched down then left. If false, the search will go left then down. SEARCH IS FASTER WHEN BYROWS = FALSE If true, string searches will not be case sensitive, "a" = "A" If true, the search will cover formulas too. If true, only whole cells will be replaced. Cell where the string is found, or null if it is not found. Returns the index (0 based) on the list of named ranges for a given name and local sheet. If the range is not found, this method will return -1 You could use to get the name definition, or directly call to get a named range knowing its name and sheet position. Name of the range we are looking for. Case insensitive. Sheet where the range is stored. A range might be stored local to a sheet, or global (Excel default). To get a global range, make localSheetIndex=0 The index (0 based) in the list of named ranges, or -1 if the range is not found. Returns the object index for an existing name. Whenever possible you should prefer to use instead of this mehtod, since it is faster and finds also objects that are not in the root branch. Object name to search for. This is case insensitive. -1 if the object is not found, or the object index otherwise. Finds an object given its internal shape id, and returns the object index you need to access the same object in FlexCel. Shape id of the object. Finds an object by its name, and returns the ObjectPath you need to use this object. Note that if there is more than an object with the same name in the sheet, this method will return null Name of the object we are looking for. This is the first sheet that will be visible in the bar of sheet tabs at the bottom. Normally you will want this to be 1. Note that every time you change this value gets reset, because it makes no sense to preserve it.

If you want to change it, change it before saving. The same way, to read it, read it just after opening the file.

Please also note that if the first sheet you select is hidden, FlexCel will ignore this value and select a visible sheet. (otherwise Excel would crash)
Number of fonts defined in all the sheet. When calling GetFont(fontIndex), 0<=fontIndex<FormatCount. Number of custom formats defined in all the sheet. When calling GetFormat(XF), 0<=XF<FormatCount. Specifies which reference style to use when entering formulas: A1 or R1C1. Note that this property is different from . OptionsR1C1 modifies a property of the file, that handles how references will show in Excel.

This property modifies how FlexCel parses or returns the formulas, and has no effect at all in the file generated.



Also note that R1C1 and A1 modes are completely equivalent, and formulas are always stored as A1 inside the generated files. This property only affects the parsing of the formulas, the file generated will be exactly the same no matter the value of this property. And Excel will show it in A1 or R1C1 mode depsnding only in
This command is equivalent to Menu->Window->Freeze Panes. It will freeze the rows and columns above and to the left from cell. Note that because Excel works this way, when you the panes are suppressed and vice-versa See also All rows and columns above and to the left of this cell will be frozen. Set it to null or "A1" to unfreeze the panes. Returns the range of cells with AutoFilter in the Active sheet, or null if there is not AutoFilter. The "Bottom" coordinate of the returned range has no meaning, only Top, left and right are used. (since AutoFilters only have one row). Returns if the row is adjusting its size to the cell (the default) or if it has a fixed height. Row index (1-based) True if AutoFit is on for the row, False if it has a fixed size Returns the name for a built-in style. Style you want find out the name. Used only if style is or . It specifies the level of the outline, and must be a number between 1 and 7. Keep it 0 for all other styles. The name for the Built in style. Cell Format for a given cell This method gets the Format number (XF) of a cell. You can create new formats using the function. Row Index (1 based) Column Index (1 based) Sheet index (1 based). XF for the cell. Cell Format for a given cell This method gets the Format number (XF) of a cell. You can create new formats using the function. Row Index (1 based) Column Index (1 based) Sheet index (1 based). XF for the cell. Reads a Cell Value. Row, 1 based. Column, 1 based. Object with the value. It can be null, a double, a string, a boolean, a , a or . Dates are returned as doubles. See the Reading Files demo to know how to use each type of the objects returned. Reads a Cell Value and Format from a sheet that is not the active sheet. Sheet where is the cell you want to get the value. Row, 1 based. Column, 1 based. XF format. Object with the value. It can be null, a double, a string, a boolean, a , a or a . Dates are returned as doubles. See the Reading Files demo to know how to use each type of the objects returned. Reads a Cell Value and Format. Row, 1 based. Column, 1 based. XF format. Object with the value. It can be null, a double, a string, a boolean, a , a or a . Dates are returned as doubles. See the Reading Files demo to know how to use each type of the objects returned. Reads a Cell Value and Format, using a column index for faster access. Normal GetCellValue(row, col) has to search for the column on a sorted list. If you are looping from 1 to this method is faster. Sheet where the cell is, 1 based. Row, 1 based. Column index, 1 based. XF format. Object with the value. It can be null, a double, a string, a boolean, a , a or a . Dates are returned as doubles. See the Reading Files demo to know how to use each type of the objects returned. Reads a Cell Value and Format, using a column index for faster access. Normal GetCellValue(row, col) has to search for the column on a sorted list. If you are looping from 1 to this method is faster. Sheet where the cell is, 1 based. Row, 1 based. Column index, 1 based. XF format. Object with the value. It can be null, a double, a string, a boolean, a , a or a . Dates are returned as doubles. See the Reading Files demo to know how to use each type of the objects returned. Cell Format for a given cell, including the format of the row and the column. This might return format even if the cell is empty, if the column or the row have format. For the real format of the cell, see Sheet index (1 based) Row Index (1 based) Column Index (1 based) XF for the cell Cell Format for a given cell, including the format of the row and the column. This might return format even if the cell is empty, if the column or the row have format. For the real format of the cell, see Sheet index (1 based) Row Index (1 based) Column Index (1 based) XF for the cell Cell Format for a given cell, including the format of the row and the column. This might return format even if the cell is empty, if the column or the row have format. For the real format of the cell, see This is a shortcut for GetCellVisibleFormat, returning the final Format struct. Sheet index. (1 based) Row Index (1 based) Column Index (1 based) Format for the cell Cell Format for a given cell, including the format of the row and the column. This might return format even if the cell is empty, if the column or the row have format. For the real format of the cell, see This is a shortcut for GetCellVisibleFormat, returning the final Format struct. Sheet index. (1 based) Row Index (1 based) Column Index (1 based) Format for the cell Returns a chart from an object position and path. If the object does not contain a chart, it returns null. Note that charts can be first-level objects (in chart sheets), or they can be embedded inside other objects, that can be themselves embedded inside other objects. So you need to recursively look inside all objects to see if there are charts anywhere.
Look at the example in this topic to see how to get all charts in a sheet.
Index of the object (1-based) Index to the child object where the chart is. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3"
Returns the cell that is linked to the checkbox. If the object isn't a checkbox or it isn't linked, this method will return null. Note that when you change the value in the cell linked to this checkbox, the value of the checkbox will change.

The sheet returned in the TCellAddress might be null, in which case the reference is to a cell in the same sheet, or it might contain another sheet name.
Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" The cell address this checkbox is linked to, or null if it isn't linked.
Gets the value of a checkbox in the active sheet. Note that this only works for checkboxes added through the Forms toolbar. It won't return the values of ActiveX checkboxes. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" If the checkbox is checked or not.
Number of columns actually used on a given sheet. Sheet index where you want to find the columns (1 based) Number of columns actually used on a given sheet. Sheet index where you want to find the columns (1 based) If true (the default) formatted columns (for example a column you selected and painted yellow) will be included in the count, even if it doesn't have data. Gets the XF format for the specified column, -1 if the column doesn't have format. Column index (1-based) Sheet index (1 based). XF format. Gets the XF format for the specified column, -1 if the column doesn't have format. Column index (1-based) Sheet index (1 based). XF format. Returns true if the column is hidden. Column index (1 based) True if the column is hidden. Returns all Column options at once (if the column is hidden, etc). Column Index (1 based) Returns a color from the color palette. This method will throw an exception if its "index" parameter is bigger than , (for example, for an automatic color). To get the real color, use Index of the entry to return. Must be 1<=index<= Color at position index. Returns a color from the color palette. If the index is not into the range 1<=index<= this method will return the automaticColor. Returns a color from the active theme palette. Only has effect in Excel 2007, and you need .NET 3.5 or newer to get a color different from the standard "office" theme.

To get the full theme, look at
Color of the theme to get. Color for the given theme.
Returns the Outline level for a column. Column index (1 based) Outline level for a column. It is a number between 0 and 7. Returns the current Column width, in Excel internal units. (Character width of "font 0" / 256) Column Index (1 based) Column width in internal excel units.(Character width of "font 0" / 256) Returns the current Column width, in Excel internal units. (Character width of font 0 / 256) Column Index (1 based) If true, the width returned for a hidden column will be 0 and not its real width. Column width in internal excel units.(Character width of font 0 / 256) Returns the current Column width for a given sheet, in Excel internal units. (Character width of font 0 / 256) Sheet where to look for the width. Column Index (1 based) If true, the width returned for a hidden column will be 0 and not its real width. Column width in internal excel units.(Character width of font 0 / 256) Returns the comment at the specified row and column, or an empty string if there is no comment on that cell. Row index (1 based) Column index (1 based) The comment on the specified cell, String.Empty if there is no comment on it. Gets the popup placement for an existing comment. If there is not a comment on cell (row,col), this will return null. Row index (1 based). Column index (1 based) Placement of the comment popup. Returns the comment properties for the popup at position commentIndex Row index (1 based) Comment index (1 based) The comment properties. Returns the comment at position commentIndex on the specified row. Row index (1 based) Comment index (1 based). See Comment at the specified position. Returns the column for comment at position commentIndex Row with the comment. (1 based) Index of the comment (1 based) The column index corresponding to the comment. Returns the validation information for an specific cell. If the cell has no Data Validation associated, this method returns null. Row of the cell (1 based) Column of the cell (1 based) The data validation for a cell, or null if the cell has no Data Validation associated. Returns the data validation information for an entry of the index. There are 2 ways you can access the data validation information on a sheet: If you know the row and column where you want to look, you can use to return the data validation in the cell.If you want to find out all data validation structures in the sheet, you can use , and to loop over all existing data validations. Position in the list of data validations. (1 based) Data validation information. Returns a list of ranges for which a data validation definition applies. There are 2 ways you can access the data validation information on a sheet: If you know the row and column where you want to look, you can use to return the data validation in the cell.If you want to find out all data validation structures in the sheet, you can use , and to loop over all existing data validations. Position in the list of data validations. (1 based) A list of cell ranges. Returns Excel standard font for an empty cell. Returns Excel font for the "normal" style. This style is used to draw the row and column headings. Returns Excel standard format for an empty cell. (NORMAL format) Returns Excel standard format for the normal style. "Normal" style applies to the headers "A", "B" ... at the top of the columns and "1", "2"... at the left of the rows. This method is the same as calling xls.GetStyle(xls.GetBuiltInStyleName(TBuiltInStyle.Normal, 0)) You normally will want to use instead of this method. Returns an enumerator that allows you to loop on all cells in the active worksheet. Once you start the foreach loop, you might cahnge the active sheet and it won't change inside the enumerator. Returns the font definition for a given font index. Font index. 0-based Font definition Returns the format definition for a given format index. Note that this method will only return Cell formats. If you want to read a Style format, use Format index 0-Based Format definition Returns the cell that is freezing the window, "A1" if no panes are frozen. See also The cell that is freezing the window, "A1" if no panes are frozen. This method returns the images associated to a given section of the header or footer. There can be only one image per section, and you refer it from the header string (see and ) by writing &G. NOTE THAT YOU CAN ONLY USE HEADER AND FOOTER GRAPHICS ON EXCEL XP AND NEWER. Excel 2000 and 97 will still open the file, but they will show no graphics. Type of page for which we want to retrieve the image. You will normally get this value from . Section of the header or footer for which we want to retrieve the image. Returns the image type for the data returned. (If it is a bmp, jpg or other) Bytes for the image. Null if there is no image on this position. This method returns the images associated to a given section of the header or footer. There can be only one image per section, and you refer it from the header string (see and ) by writing &G. NOTE THAT YOU CAN ONLY USE HEADER AND FOOTER GRAPHICS ON EXCEL XP AND NEWER. Excel 2000 and 97 will still open the file, but they will show no graphics. Type of page for which we want to retrieve the image. You will normally get this value from . Section of the header or footer for which we want to retrieve the image. Returns the image type for the data returned. (If it is a bmp, jpg or other) Stream where the image data will be copied. Returns the image position and size. Section of the header or footer for which we want to retrieve the image properties. Type of page for which we want to retrieve the image. You will normally get this value from . Image properties. Null if there is no image on this section. Returns the contents of formatted cell as HTML. Conditional formats are not applied, you need to call to the cell style for that. If is true, it will return the formula text instead of the value. For a list of html tags that might be returned, see the Remarks section. Cell Row (1 based) Cell Column (1 based) Version of the html returned. In XHTML, single tags have a "/" at the end, while in 4.0 they don't. Specifies if to use simple tags or for the returned HTML. Encoding for the returned string. Use UTF-8 if in doubt. An Html formatted string with the cell contents. Returns the hyperlink at position index on the list. Index of the hyperlink (1 based). Hyperlink description. Returns the cell range a hyperlink refers to. Index of the hyperlink (1 based). Range the hyperlink applies to. Returns an image bytes and type. Index of the image. (1 based) Returns the image type for the data returned. (If it is a bmp, jpg or other) Image data. Use the returned imageType to find out the format of the stored image. Returns an image and its type. Index of the image. (1 based) Returns the image type for the data returned. (If it is a bmp, jpg or other) Stream where the image data will be copied. Returns an image and its type. Index of the image. (1 based) Object path to the image when it is a grouped image. For toplevel images you can use String.Empty. In other case, you need to use the value returned by

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Returns the image type for the data returned. (If it is a bmp, jpg or other) Stream where the image data will be copied.
Returns an image and its type. Index of the image. (1 based) Object path to the image when it is a grouped image. For toplevel images you can use String.Empty. In other case, you need to use the value returned by

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Returns the image type for the data returned. (If it is a bmp, jpg or other) Stream where the image data will be copied. If false (the default) then imageIndex is an index to the list of images. When true imageIndex is an index to the list of all objects in the sheet. When you have the object id, you can avoid calling which is a slow method, by setting this parameter to true.
Returns the image name at position imageIndex. Index of the image (1 based) Image name. Returns image position and size. Index of the image (1 based) Image position and size. Returns the value of level for a column as set in . Note that the last value of a "keep together" range is 0. For example, if you set KeepColsTogether(1, 3, 8, true); GetKeepColsTogether will return 8 for columns 1 and 2, and 0 for column 3. Column index. (1 based) The Keep together level of the column. Returns the value of level for a row as set in . Note that the last value of a "keep together" range is 0. For example, if you set KeepRowsTogether(1, 3, 8, true); GetKeepRowsTogether will return 8 for rows 1 and 2, and 0 for row 3. Row index. (1 based) The Keep together level of the row. Gets the external link at position i. Index of the link (1 based). i goes between 1 and Returns the Named Range Definition. If the range is not user defined (like "Print_Area") it will have a one-char name, and the value is on the enum Index of the named range. Named Range Returns the Named Range Definition. If the range is not user defined (like "Print_Area") it will have a one-char name, and the value is on the enum Name of the range we are looking for. Case insensitive. Sheet where the range refers to. A range with the same name might be defined on more than one sheet.

To get the first range with the name, make refersToSheetIndex<=0

Note that a name can be stored in one sheet and refer to a different sheet. Or it might not refer to any sheet at all. (for example, the name "=name1+1" doesn't refer to any sheet.) And you could have a name "=Sheet1!a1" defined in sheet2. This name will "refer to" sheet1, but be defined in sheet2.

While names are normally all defined globally (sheet 0), if you need to get the names that are stored in an specific sheet, use instead. Named Range or null if the range does not exist.
Returns the Named Range Definition. If the range is not user defined (like "Print_Area") it will have a one-char name, and the value is on the enum Name of the range we are looking for. Case insensitive. Sheet where the range refers to. Note that this is not where the name is stored. Normally names are all stored globally (in sheet 0), but they refer to an specific sheet. For example, if you define the name "=Sheet2!a1" globally, it will be stored in sheet 0, but will refer to sheet2.

A name like "=Sheet1:Sheet2!A1 doesn't refer to any sheet. Sheet where the range is stored. A range might be stored local to a sheet, or global (Excel default). To get a global range, make localSheetIndex=0 Named Range or null if the range does not exist.
Returns the placement of the object. Index of the object (1-based) Coordinates of the object. Returns the input range for the object. If the object isn't a combobox or listbox, or it doesn't have an input range, this method will return null. Note that when you change the value in the cell linked to this object, the value of the object will change.

The sheet in the TCellAddresses returned might be null, in which case the reference is to a cell in the same sheet, or it might contain another sheet name.
Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" The input range, or null if the object doesn't have an input range.
Returns the cell that is linked to the object. If the object isn't an object that can be linked or it isn't linked, this method will return null. Note that when you change the value in the cell linked to this object, the value of the object will change.

The sheet returned in the TCellAddress might be null, in which case the reference is to a cell in the same sheet, or it might contain another sheet name.
Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" The cell address this object is linked to, or null if it isn't linked.
Returns the macro associated with an object, or null if there is no macro associated. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" The macro assocaited with the object, or null if there isn't any macro associated.
Returns the name of the object at objectIndex position. Object index. (1-based) Returns information on an object and all of its children. If the shapeId doesn't exist, this method returns null. Index of the object (1-based) When true, shape options will be retrieved. As this can be a slow operation, only specify true when you really need those options. Returns information on an object and all of its children. Index of the object (1-based) When true, shape options will be retrieved. As this can be a slow operation, only specify true when you really need those options. Gets the selected item in an object from the "Forms" palette. It can be a combobox or a listbox. 0 means no selection, 1 the first item in the list. Note that this only works for objects added through the Forms toolbar. It won't return the values of ActiveX objects. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" The position of the selected item in the object. 0 means no selection, 1 the first item is selected.
Returns the shape id of the object at objectIndex position. Shape Ids are internal identifiers for the shape, that you can use to uniquely identify a shape. Note that the shape id can change when you load the file, once it is loaded, it will remain the same for the shape lifetime. Object index. (1-based) Returns a list with all the objects that are completely inside a range of cells. Range of cells where we want to find the objects. In this list we will add all the objects found. note that the objects will be added to the list, so if you want just the objects in this range, make sure you clear the list before calling this method. Returns maximum, minimum and increment in any control that has a spin or dropdown, like a listbox, combobox, spinner or scrollbar. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" The spin properties.
Returns the current selected value of a scrollbar. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" The spin position.
This method will return all the headers and footers in a sheet. Converts a section of a page header or footer into an HTML string. Text to convert. You will normally get this parameter calling Tag to call an image for the section. It must be in the form: "<img src=...>" and you can get the image with . If null or empty, no img tag will be present in the resulting html, even if the section includes an image. Page we are printing. This parameter will be used if you have text like "Page 1 of 3" in the header.
If you are exporting to html, this value should be 1, since there are no page breaks in an html doc. Number of pages in the document. This parameter will be used if you have text like "Page 1 of 3" in the header.
If you are exporting to html, this value should be 1, since there are no page breaks in an html doc Version of html we are targeting. In Html 4 <br> is valid and <br/> is not. In XHtml the inverse is true. Code page used to encode the string. Normally this is UTF-8 Method that can customize the fonts used in the resulting string. It can be null if you don't want to do any modification to the fonts. An html string with the section.
Returns printer driver settings. This method is not intended to be used alone, but together with to copy printer driver information from a file to another. The printer driver settings. Gets the Margins on the active sheet. Gets if a radio button in the active sheet is selected or not. Note that this only works for radio buttons added through the Forms toolbar. It won't return the values of ActiveX radio buttons. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" If the radio button is selected or not.
Number of rows actually used on a given sheet. Gets the XF format for the specified row, -1 if the row doesn't have format. Row index (1-based) Sheet index (1 based). XF format. Gets the XF format for the specified row, -1 if the row doesn't have format. Row index (1-based) Sheet index (1 based). XF format. Returns the current Row height, in Excel internal units. (1/20th of a point) Row Index (1 based) Row height in internal excel units. Returns the current Row height, in Excel internal units. (1/20th of a point) Row Index (1 based) If true, the height returned for a hidden row will be 0 and not its real height. Row height in internal excel units. Returns the current Row height for a given sheet, in Excel internal units. (1/20th of a point) Sheet where to look for the height. Row Index (1 based) If true, the height returned for a hidden row will be 0 and not its real height. Row height in internal Excel units.(1/20th of a point) Returns true if the row is hidden. Row index (1 based). True if the row is hidden. Returns true if the row is hidden. This method does not care about ActiveSheet. Sheet index (1 based) for the row. Row index (1 based). True if the row is hidden. Returns all Row options at once (if the row is autosize, if it is hidden, etc). Row Index (1 based) Row options Returns the Outline level for a row. Row index (1 based) Outline level for a row. It is a number between 0 and 7. Returns the selected ranges on a sheet. Finds a sheet name on the workbook and returns its index. If it doesn't find the sheet it will raise an exception. See for a method that will not throw an exception. To change the active sheet by the name, use . See also Sheet you want to find. The sheet index if the sheet exists, or throws an Exception otherwise. Finds a sheet name on the workbook and returns its index. Depending on the "throwException" parameter, this method will raise an exception or return -1 if the sheet does not exist. To change the active sheet by the name, use . See also Sheet you want to find. When sheetName does not exist, having throwException = true will raise an Exception. throwException = false will return -1 if the sheet is not found. Returns the sheet name for a given index. To change the active sheet by the name, use . See also Returns the horizontal and vertical offsets for the split windows. Zero means no split. See also The horizontal and vertical offsets for the split windows. Zero means no split. This method will return a rich string that is formatted similar to the way Excel shows it. For example, if you have "1.0" on a cell, and the cell is formatted as exponential, this method will return "1.0e+1" It might also change the color depending on the value and format. (for example, red for negative numbers) Cell Row (1 based). Cell Column (1 based) The resulting XF for the cell. Resulting color of the string. If for example you define red for negative numbers, and the result is red, this will be returned on aColor. If there is not color info on the format, it will remain unchanged. A rich string with the cell value. This method will return a rich string that is formatted similar to the way Excel shows it. For example, if you have "1.0" on a cell, and the cell is formatted as exponential, this method will return "1.0e+1" It might also change the color depending on the value and format. (for example, red for negative numbers) Cell Row (1 based). Cell Column (1 based) The resulting XF for the cell. Resulting color of the string. If for example you define red for negative numbers, and the result is red, this will be returned on aColor. If there is not color info on the format, it will remain unchanged. A rich string with the cell value. Returns the named style at position index for the workbook Position in the list of styles (1 based). The named style definition. Returns a named style for the workbook. You can also use this method to check if a style exists or not. The returned style will have the "IsStyle" property set to true, so you can't apply it directly to a cell. If you want to apply the result of this method to a cell, use . Name for the style. It might be an user defined name, or a built-in name. You can get a list of buitin names with The style definition, or null if the style doesn't exists. Returns a named style for the workbook. You can also use this method to check if a style exists or not. Name for the style. It might be an user defined name, or a built-in name. You can get a list of buitin names with If true, the returned style will have the "IsStyle" property set to false, so you can apply this TFlxFormat to a cell. If false IsStyle will be true and you can use the format definition in style definitions. Setting this parameter to true is exactly the same as setting it to false and setting "IsStyle" property in the result to false, and also setting the parent of the resulting cell format to the cell style. The style definition, or null if the style doesn't exists. Gets the name of the style at position index. (1 based). Position in the list of styles (1 based). The name of the style. This is an advanced method, that allows you to get the full theme in use. Normally you will just want to replace colors, and you can do this with and methods. Much of the functionality in a theme applies to PowerPoint, not Excel.
This method is only available in .NET 3.5 or newer
Gets the major of minor font scheme in the theme. Font Scheme we want to get (either minor or major). Using "none" here will return null. Font definition. Returns an array of booleans where each value indicates if the name at position "i-1" is used by any formula, chart, or object in the file. If the name is in use, it can't be deleted. Note that the index here is Zero-based, different from all other Name indexes in FlexCel, because arrays in C# are always 0-based. So UsedRange[0] corresponds to GetNamedRange(1) and so on. An array of booleans indicating whether each name is used or not. Returns a list of the used colors on the palette. You can use it as an entry to to modify the palette. Returns the range of cells that make the what-if table that starts at aRow and aCol. If there is no What-if table at aRow, aCol, this method retuns null.

If both the returned rowInputCell and colInputCell are null, this means this table points to deleted references.
Sheet where the table is. First cell from where we want to get a what-if table. First cell from where we want to get a what-if table. Returns the row input cell for this table. If the table doesn't have a row input cell, this value is null. Returns the column input cell for this table. If the table doesn't have a column input cell, this value is null. The full range of the table, not incuding the formula headers. Only the cells where {=Table()} formulas are..
Returns a list of the upper cells of the What-if tables in the page. You can then use to get the definition of each one. A list of the coordinates with the first row and column for every what-if table in the sheet. Returns the window scroll for the main pane. Returns the window scroll for a specified pane. Pane to return. Color of the grid separator lines. Returns true if the active sheet has any AutoFilter defined. True if the active sheet has an AutoFilter, false otherwise. Returns true if a cell has an AutoFilter. Row of the cell we want to find out. (1 based) Column of the cell we want to find out. (1 based) True if the cell has an AutoFilter, false otherwise. True if the sheet has a Manual Horizontal page break on the row. Row to check. Returns true if there is any column marked as keeptogether in the sheet. This method traverses every column to find out, so it acn be somehow slow and you should not call it too often. Returns true if there is any row marked as keeptogether in the sheet. This method traverses every row to find out, so it acn be somehow slow and you should not call it too often. Returns true if the file has any macros. True if the file has macros. True if the sheet has a Manual Vertical page break on the column. Column to check Factor to multiply default row heights. See remarks for a detailed explanation. When true number 0 will be shown as empty. You can also set this option with The count of hyperlinks on the active sheet The number of images on the active sheet. Returns the general index on the object list for an image. You can use then this index on SendToBack, for example. Image index on the image array. Image index on the total objects array. Imports a text file (character-delimited columns) into the current sheet. Note that this method won't clear any existing data. Stream with the text to import. Character used to separate columns. Row in the Active sheet where we will start importing the text file. Column in the Active sheet where we will start importing the text file. An array of elements, telling how each column should be imported.
See the example in for more information on how to use it. Encoding used by the file we are reading. If ommited, it is assumed to be Encoding.Default. It is the same on the constructor of a StreamReader, and it says if BOM must be used at the beginning of the file. It defaults to true. A list of formats allowed for dates and times, when opening text files. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. This value has no meaning in normal xls files, only text files.
Imports a text file (character-delimited columns) into the current sheet. Note that this method won't clear any existing data. Stream with the text to import. Character used to separate columns. Row in the Active sheet where we will start importing the text file. Column in the Active sheet where we will start importing the text file. An array of elements, telling how each column should be imported.
See the example in for more information on how to use it. Encoding used by the file we are reading. If ommited, it is assumed to be Encoding.Default. It is the same on the constructor of a StreamReader, and it says if BOM must be used at the beginning of the file. It defaults to true.
Imports a text file (fixed length columns) into the current sheet. Note that this method won't clear any existing data. Stream with the text to import. Row in the Active sheet where we will start importing the text file. Column in the Active sheet where we will start importing the text file. An array with the column widths for every column you want to import. An array of elements, telling how each column should be imported.
See the example in for more information on how to use it. Encoding used by the file we are reading. If ommited, it is assumed to be Encoding.Default. It is the same on the constructor of a StreamReader, and it says if BOM must be used at the beginning of the file. It defaults to true. A list of formats allowed for dates and times, when opening text files. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. This value has no meaning in normal xls files, only text files.
Imports a text file (fixed length columns) into the current sheet. Note that this method won't clear any existing data. Stream with the text to import. Row in the Active sheet where we will start importing the text file. Column in the Active sheet where we will start importing the text file. An array with the column widths for every column you want to import. An array of elements, telling how each column should be imported.
See the example in for more information on how to use it. Encoding used by the file we are reading. If ommited, it is assumed to be Encoding.Default. It is the same on the constructor of a StreamReader, and it says if BOM must be used at the beginning of the file. It defaults to true.
Imports a text file (character-delimited columns) into the current sheet. Note that this method won't clear any existing data. TextReader with the text to import. Character used to separate columns. Row in the Active sheet where we will start importing the text file. Column in the Active sheet where we will start importing the text file. An array of elements, telling how each column should be imported.
See the example in for more information on how to use it. A list of formats allowed for dates and times, when opening text files. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. This value has no meaning in normal xls files, only text files.
Imports a text file (fixed length columns) into the current sheet. Note that this method won't clear any existing data. StreamReader with the text to import. Row in the Active sheet where we will start importing the text file. Column in the Active sheet where we will start importing the text file. An array with the column widths for every column you want to import. An array of elements, telling how each column should be imported.
See the example in for more information on how to use it.
Imports a text file (fixed length columns) into the current sheet. Note that this method won't clear any existing data. StreamReader with the text to import. Row in the Active sheet where we will start importing the text file. Column in the Active sheet where we will start importing the text file. An array with the column widths for every column you want to import. An array of elements, telling how each column should be imported.
See the example in for more information on how to use it. A list of formats allowed for dates and times, when opening text files. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. This value has no meaning in normal xls files, only text files.
Imports a text file (character-delimited columns) into the current sheet. Note that this method won't clear any existing data. File with the text to import. Character used to separate columns. Row in the Active sheet where we will start importing the text file. Column in the Active sheet where we will start importing the text file. An array of elements, telling how each column should be imported.
See the example in for more information on how to use it. Encoding used by the file we are reading. If ommited, it is assumed to be Encoding.Default. It is the same on the constructor of a StreamReader, and it says if BOM must be used at the beginning of the file. It defaults to true. A list of formats allowed for dates and times, when opening text files. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. This value has no meaning in normal xls files, only text files.
Imports a text file (character-delimited columns) into the current sheet. Note that this method won't clear any existing data. File with the text to import. Character used to separate columns. Row in the Active sheet where we will start importing the text file. Column in the Active sheet where we will start importing the text file. An array of elements, telling how each column should be imported.
See the example in for more information on how to use it. Encoding used by the file we are reading. If ommited, it is assumed to be Encoding.Default. It is the same on the constructor of a StreamReader, and it says if BOM must be used at the beginning of the file. It defaults to true.
Imports a text file (fixed length columns) into the current sheet. Note that this method won't clear any existing data. File with the text to import. Row in the Active sheet where we will start importing the text file. Column in the Active sheet where we will start importing the text file. An array with the column widths for every column you want to import. An array of elements, telling how each column should be imported.
See the example in for more information on how to use it. Encoding used by the file we are reading. If ommited, it is assumed to be Encoding.Default. It is the same on the constructor of a StreamReader, and it says if BOM must be used at the beginning of the file. It defaults to true. A list of formats allowed for dates and times, when opening text files. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. This value has no meaning in normal xls files, only text files.
Imports a text file (fixed length columns) into the current sheet. Note that this method won't clear any existing data. File with the text to import. Row in the Active sheet where we will start importing the text file. Column in the Active sheet where we will start importing the text file. An array with the column widths for every column you want to import. An array of elements, telling how each column should be imported.
See the example in for more information on how to use it. Encoding used by the file we are reading. If ommited, it is assumed to be Encoding.Default. It is the same on the constructor of a StreamReader, and it says if BOM must be used at the beginning of the file. It defaults to true.
Inserts and/or copies a range of cells from one place to another.
This method is one of the most important on FlexCel API, and it allows you to copy ranges of cells from one place to another, adapting the formulas, images and everything as Excel would do it.
The range of cells you want to copy. If you specify full rows, they will be copied with Row format information and size. If you copy just a part of a row, Row format will not be copied. The same applies to columns. The only way to copy all row and columns, is to specify the full (A:IV) range. Destination row where the cells will be copied. Destination column where the cells will be copied. Number of times the sourceRange will be copied at (desRow, destCol). If you make for example destCount=2, sourceRange will be copied 2 times at (destRow, destCol) How the cells on destination will be inserted. They can shift down or left. Specifying Row or Col as mode is equivalent to specify a sourceRange including full rows or columns respectively. Which cells on sourceRange will be copied. If you intend to replace values on the copied cells, you might specify OnlyFormulas. If you just want to insert cells and not copy, specify None. Workbook from where we are copying the cells. This might be the same workbook, and you would by copying from another sheet. Sheet index on the source workbook. If sourceWorkbook is the same instance as this, and sourceSheet is the active sheet on the instance, this method is equivalent to the simpler overloaded version. Returns the objects that are in the range to be copied this is an optimization so you don't have to find those objects again. Set it to null to not return any objects
Inserts and/or copies a range of cells from one place to another.
This method is one of the most important on FlexCel API, and it allows you to copy ranges of cells from one place to another, adapting the formulas, images and everything as Excel would do it.
The range of cells you want to copy. If you specify full rows, they will be copied with Row format information and size. If you copy just a part of a row, Row format will not be copied. The same applies to columns. The only way to copy all row and columns, is to specify the full (A:IV) range. Destination row where the cells will be copied. Destination column where the cells will be copied. Number of times the sourceRange will be copied at (desRow, destCol). If you make for example destCount=2, sourceRange will be copied 2 times at (destRow, destCol) How the cells on destination will be inserted. They can shift down or left. Specifying Row or Col as mode is equivalent to specify a sourceRange including full rows or columns respectively. Which cells on sourceRange will be copied. If you intend to replace values on the copied cells, you might specify OnlyFormulas. If you just want to insert cells and not copy, specify None. Workbook from where we are copying the cells. This might be the same workbook, and you would by copying from another sheet. Sheet index on the source workbook. If sourceWorkbook is the same instance as this, and sourceSheet is the active sheet on the instance, this method is equivalent to the simpler overloaded version. Returns the objects that are in the range to be copied this is an optimization so you don't have to find those objects again. Set it to null to not return any objects
Inserts and/or copies a range of cells from one place to another.
This method is one of the most important on FlexCel API, and it allows you to copy ranges of cells from one place to another, adapting the formulas, images and everything as Excel would do it.
The range of cells you want to copy. If you specify full rows, they will be copied with Row format information and size. If you copy just a part of a row, Row format will not be copied. The same applies to columns. The only way to copy all row and columns, is to specify the full (A:IV) range. Destination row where the cells will be copied. Destination column where the cells will be copied. Number of times the sourceRange will be copied at (desRow, destCol). If you make for example destCount=2, sourceRange will be copied 2 times at (destRow, destCol) How the cells on destination will be inserted. They can shift down or left. Specifying Row or Col as mode is equivalent to specify a sourceRange including full rows or columns respectively. Which cells on sourceRange will be copied. If you intend to replace values on the copied cells, you might specify OnlyFormulas. If you just want to insert cells and not copy, specify None. Workbook from where we are copying the cells. This might be the same workbook, and you would by copying from another sheet. Sheet index on the source workbook. If sourceWorkbook is the same instance as this, and sourceSheet is the active sheet on the instance, this method is equivalent to the simpler overloaded version. Returns the objects that are in the range to be copied this is an optimization so you don't have to find those objects again. Set it to null to not return any objects
Inserts and/or copies a range of cells from one place to another.
This method is one of the most important on FlexCel API, and it allows you to copy ranges of cells from one place to another, adapting the formulas, images and everything as Excel would do it.
The range of cells you want to copy. If you specify full rows, they will be copied with Row format information and size. If you copy just a part of a row, Row format will not be copied. The same applies to columns. The only way to copy all row and columns, is to specify the full (A:IV) range. Destination row where the cells will be copied. Destination column where the cells will be copied. Number of times the sourceRange will be copied at (desRow, destCol). If you make for example destCount=2, sourceRange will be copied 2 times at (destRow, destCol) How the cells on destination will be inserted. They can shift down or left. Specifying Row or Col as mode is equivalent to specify a sourceRange including full rows or columns respectively. Which cells on sourceRange will be copied. If you intend to replace values on the copied cells, you might specify OnlyFormulas. If you just want to insert cells and not copy, specify None. Workbook from where we are copying the cells. This might be the same workbook, and you would by copying from another sheet. Sheet index on the source workbook. If sourceWorkbook is the same instance as this, and sourceSheet is the active sheet on the instance, this method is equivalent to the simpler overloaded version. Returns the objects that are in the range to be copied this is an optimization so you don't have to find those objects again. Set it to null to not return any objects
Inserts and copies sheet "CopyFrom", SheetCount times before InsertBefore. To insert empty sheets, set CopyFrom = 0 (You migth also call ). The sheet index of the sheet we are copying from (1 based). Set it to 0 to insert Empty sheets. The sheet before which we will insert (1 based). This might be SheetCount+1, to insert at the end of the Workbook. The number of sheets to insert. Inserts and copies sheet "CopyFrom", SheetCount times before InsertBefore. If sourceWorkbook is not null, sheets will be copied from another file. To insert empty sheets, set CopyFrom=0. The sheet index of the sheet we are copying from (1 based). Set it to 0 to insert Empty sheets. The sheet before which we will insert (1 based). This might be SheetCount+1, to insert at the end of the Workbook. The number of sheets to insert. Workbook from where the sheet will be copied from. Null to copy from the same file. Inserts and copies all the sheets in the "CopyFrom" array, before InsertBefore into another workbook. The sheet index of all the sheets we are copying from (1 based). The sheet before which we will insert (1 based). This might be SheetCount+1, to insert at the end of the Workbook. Workbook from where the sheet will be copied from. On this overloaded version it cannot be null. Inserts a Vertical Page Break at the specified column. If there is one already, it will do nothing. If the number of pagebreaks is bigger than the maximum Excel can admit, it will add it anyway, but you might get an exception when saving the file as xls. Exporting as images or PDF will use those additional page breaks. To control what to do when there are too many page breaks, see Column where to insert the page break All column numbers are 1-based, and the breaks occur after the column. This is used by FlexCelReport to add page breaks that behave as if they affected the next column, not the column to the left. Inserts a Vertical Page Break at the specified column. If there is one already, it will do nothing. If the number of pagebreaks is bigger than the maximum Excel can admit, it will add it anyway, but you might get an exception when saving the file as xls. Exporting as images or PDF will use those additional page breaks. To control what to do when there are too many page breaks, see Column where to insert the page break All column numbers are 1-based, and the breaks occur after the column. This is used by FlexCelReport to add page breaks that behave as if they affected the next column, not the column to the left. Returns true if the Custom formula function has been added to the FlexCel recalculating engine. Note that internal functions are not returned by this method, but user defined functions pre-defined in FlexCel will be. Name of the function. Case insensitive. True if the name has been added, false if not. Returns true if the Custom formula function has been added to the FlexCel recalculating engine. Note that internal functions are not returned by this method, but user defined functions pre-defined in FlexCel will be. Name of the function. Case insensitive. Returns if the function is defined as an internal or external function. True if the name has been added, false if not. True if the specified row does not have any cells, nor any format on it. In short, this row has never been used. Row to test (1-based) True if the specified column does not have any format applied on it. Column to test (1-based) Returns true when the column is the one that is used for collapsing an outline. (it has a "+" at the top). Column to test (1 based) True if the node has a "+" mark. Returns true when the column is an outline node (it has a "+" at the top) and it is closed (all children are hidden). Column to test (1 based) True if the column contains a node and it is collapsed, false otherwise. Returns true when the row is an outline node (it has a "+" at the left) and it is closed (all children are hidden). Row to test (1 based) True if the row contains a node and it is collapsed, false otherwise. Returns true when the row is the one that is used for collapsing an outline. (it has a "+" at the left). Row to test (1 based) True if the node has a "+" mark. Returns true if the object name exists and it is unique in the sheet. You can usee to find the object path you need for this object name. Determines if the file is a template (xlt format instead of xls). Both file formats are nearly identical, but there is an extra record needed so the file is a proper xlt template. Tells FlexCel that it must try to keep together the columns between col1 and col2 (inclusive) when printing. This method does nothing to the resulting Excel file since this is not an Excel feature. To actually do something, you need to call after calling this method. First column of the group you want to keep together. Last column of the group you want to keep together. Set this parameter to 0 to remove the condition to keep columns together. Any bigger than zero value will mean that the rows must be kept together. You can use more than one level to tell FlexCel to try to keep different groups together, If all columns cannot be kept together in one page, FlexCel will try to keep as much columns with higher levels as possible. See the example for more information. If true, all existing level values in the column range will be replaced. If false, the new level values will be written only if they are bigger than the existing ones. You can use the false setting to set many values in the any order.
For example, if you first call KeepColsTogether(2, 3, 5,false) and then KeepColsTogether(1, 10, 1, false), columns 2 and 3 will keep the level in 5. If you did so with this parameter true, the second call would replace the levels of columns 2 and 3 to level 1, making all column levels between 1 and 10 equal to 1.
Defines what FlexCel will do when it finds a reference to the last row or column in an Excel 97-2003 spreadsheet, and it is upgrading to Excel 2007. If false (the default) row 65536 will be updated to row 1048576, and column 256 to column 16384. If true, references will stay the same. Note: This is a static global property, so it affects all threads running. Tells FlexCel that it must try to keep together the rows between row1 and row2 (inclusive) when printing. This method does nothing to the resulting Excel file since this is not an Excel feature. To actually do something, you need to call after calling this method. First row of the group you want to keep together. Last row of the group you want to keep together. Set this parameter to 0 to remove the condition to keep rows together. Any bigger than zero value will mean that the rows must be kept together. You can use more than one level to tell FlexCel to try to keep different groups together. If all rows cannot be kept together in one page, FlexCel will try to keep as much rows with higher levels as possible. See the example for more information. If true, all existing level values in the row range will be replaced. If false, the new level values will be written only if they are bigger than the existing ones. You can use the false setting to set many values in the any order.
For example, if you first call KeepRowsTogether(2, 3, 5, false) and then KeepRowsTogether(1, 10, 1, false), rows 2 and 3 will keep the level in 5. If you did so with this parameter true, the second call would replace the levels of rows 2 and 3 to level 1, making all row levels between 1 and 10 equal to 1.
A Linespacing of 1 means use the standard GDI+ linespace when a cell has more than one line. A linespace of 2 would mean double linespacing, and 0.5 would mean half linespacing. Normally linespacing in Excel is a little bigger than linespacing in GDI+, so you can use this property to fine tune what you need.
This property doesn't alter the Excel file in any way. It is only used when rendering.
Returns the number of external links for the file. You can access those links with and Marks a column as candidate for future autofit. Note that this method will NOT change anything on the file. It just "marks" the column so you can use it later with . Column index (1 based) Set this to true to mark the column for autofitting, false for removing the column from autofitting list. You will normally want to set this parameter to 1, which means that autofit will be made with standard measurements. If you set it to for example 1.1, then columns will be adjusted to 110% percent of what their calculated width was. Use this parameter to fine-tune autofiting, if for example columns are too small when opening the file in Excel. Marks a column as candidate for future autofit. Note that this method will NOT change anything on the file. It just "marks" the column so you can use it later with . Column index (1 based) Set this to true to mark the column for autofitting, false for removing the column from autofitting list. You will normally want to set this parameter to 1, which means that autofit will be made with standard measurements. If you set it to for example 1.1, then columns will be adjusted to 110% percent of what their calculated width was. Use this parameter to fine-tune autofiting, if for example columns are too small when opening the file in Excel. You will normally set this parameter to 0, which means standard autofit. If you set it to a value, the row will be made larger by that ammount from the calculated autofit. Different from the "adjustment" parameter, this parameter adds a fixed size to the column and not a percentage. The final size of the column will be: FinalSize = CalulatedAutoFit * adjustment + adjusmentFixed Minimum final width for the column to autofit. If the calculated value is less than minWidth, column size will be set to minWidth.
A negative value on minWidth means the column size will be no smaller than the original width. Maximum final width for the column to autofit. If the calculated value is more than maxWidth, column size will be set to maxWidth.
maxWidth = 0 means no maxWidth.
A negative value on maxWidth means the column size will be no bigger than the original width. If true, only the cell will be autofitted, not the whole column.
Marks a row as candidate for future autofit. Note that this method will NOT change anything on the file. It just "marks" the row so you can use it later with . To change the actual autofit status on the xls file, use NOTE: This method will not mark empty rows. Row index (1 based) Set this to true to mark the row for autofitting, false for removing the row from autofitting list. You will normally want to set this parameter to 1, which means that autofit will be made with standard measurements. If you set it to for example 1.1, then rows will be adjusted to 110% percent of what their calculated height was. Use this parameter to fine-tune autofiting, if for example rows are too small when opening the file in Excel. Marks a row as candidate for future autofit. Note that this method will NOT change anything on the file. It just "marks" the row so you can use it later with . To change the actual autofit status on the xls file, use NOTE: This method will not mark empty rows. Row index (1 based) Set this to true to mark the row for autofitting, false for removing the row from autofitting list. You will normally want to set this parameter to 1, which means that autofit will be made with standard measurements. If you set it to for example 1.1, then rows will be adjusted to 110% percent of what their calculated height was. Use this parameter to fine-tune autofiting, if for example rows are too small when opening the file in Excel. You will normally set this parameter to 0, which means standard autofit. If you set it to a value, the row will be made larger by that ammount from the calculated autofit. Different from the "adjustment" parameter, this parameter adds a fixed size to the row and not a percentage. The final size of the row will be: FinalSize = CalulatedAutoFit * adjustment + adjusmentFixed Minimum final height for the row to autofit. If the calculated value is less than minHeight, row size will be set to minHeight.
A negative value on minHeight means the row size will be no smaller than the original height. Maximum final height for the row to autofit. If the calculated value is more than maxHeigth, row size will be set to maxHeight.
maxHeight = 0 means no maxHeight.
A negative value on maxHeight means the row size will be no bigger than the original height. If true, only the cell will be autofitted, not the whole row.
Merges a number of cells into one. First row of the merged cell. First column of the merged cell. Last row of the merged cell. Last column of the merged cell. Moves a range of cells, the same way Excel does it. All references pointing to the old range will be relocated to the new, and all exisitng references to the new range will be relocated to #ref. Range you want to move. Row where the range will be relocated. Column where the range will be relocated. This parameter switches between 2 different working modes: Modes NoneDown and NoneRight are the same, and work the same way as when you drag a range of cells in Excel to a new location. Cells on the new range will be replaced by the old, and cells where the old range was located will be cleared(not deleted). No cells are insered or deleted. The other modes behave like when you select a range in Excel, cut it, and then right click and select "Insert Cut Cells...". The old range will be inserted where the new range goes, cells where the old range was will be deleted(not cleared). Using for example MoveRange(CellRange, newRow, newCol, TFlxInsertMode.ShiftRight) is equivalent to: 1) InsertAndCopyRange(CellRange, newRow, newCol, 1, TFlxInsertMode.ShiftRight, TRangeCopyMode.None); 2) MoveRange(CellRange, newRow, newCol, TFlxInsertMode.NoneRight); 3) DeleteRange(CellRange, TFlxInsertMode.ShiftRight); The count of all named ranges on the file. Returns the most similar entry on the excel palette for a given color. Color we want to use. Most similar color on the Excel palette. IMPORTANT: Since FlexCel 5.1, using before saving should normally be used instead of this method to get an optimized palette. Just enter the true colors in FlexCel, and call before saving.

Returns the most similar entry on the excel palette for a given color. If UsedColors is not null, it will try to modify the Excel color palette to get a better match on the color, modifying among the not used colors. Note that modifying the standard palette might result on a file that is not easy to edit on Excel later, since it does not have the standard Excel colors.
Color we want to use. If null, this behaves like the standard NearestColorIndex. To get a list of used colors for the first call, use . After the first call, keep using the same UsedColors structure and do not call GetUsedPaletteColors again, to avoid overwriting colors that are not yet inserted into the xls file with new ones. You can call GetUsedPaletteColors only after you added the format with Most similar color on the Excel palette.
Returns the most similar entry on the theme palette for a given color. Color we want to use. Returns the tint to apply to the theme color. Most similar color on the theme palette. Creates a new empty file, with 3 empty sheets. Creates a new empty file, with the specified number of sheets. Number of sheets for the new file. Different Excel versions save different empty files. By default, FlexCel will create a new file that looks like a file created by Excel 2003, but you can change the version of the new file created with this parameter. Creates a new empty file, with the specified number of sheets. Number of sheets for the new file. Different Excel versions save different empty files. By default, FlexCel will create a new file that looks like a file created by Excel 2003, but you can change the version of the new file created with this parameter. Count of all graphical objects on the sheet. They can be charts, images, shapes, etc. Returns the index on the image collection of an object. Note that this method is slow when there are many images, so use it sparingly. General index of the image on the Object collection. -1 if the object is not an image, else the index on the image collection. Replace this method if you want to override this event in a derived class. Replace this method if you want to override this event in a derived class. Replace this method if you want to override this event in a derived class. Loads a new Spreadsheet form a stream. Stream to Load, must be a seekable stream. Verify it is on the correct position. Loads a new Spreadsheet form a stream, on one of the specified formats. Stream to open, must be a seekable stream. Verify it is on the correct position. List with possible file formats to try Delimiter used to separate columns, if the format is First row where we will copy the cells on the new sheet, for First column where we will copy the cells on the new sheet, for An array of elements, telling how each column should be imported.
See the example Encoding used by the file we are reading, when opening a Text-delimited file (csv or txt). This parameter has no effect on xls files. If ommited, it is assumed to be Encoding.Default.This parameter only applies when reading Text files. It is the same on the constructor of a StreamReader, and it says if BOM must be used at the beginning of the file. It defaults to true. for more information on how to use it. A list of formats allowed for dates and times, when opening text files. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. This value has no meaning in normal xls files, only text files.
Loads a new Spreadsheet form a stream, on one of the specified formats. Stream to open, must be a seekable stream. Verify it is on the correct position. List with possible file formats to try Delimiter used to separate columns, if the format is First row where we will copy the cells on the new sheet, for First column where we will copy the cells on the new sheet, for An array of elements, telling how each column should be imported.
See the example Encoding used by the file we are reading, when opening a Text-delimited file (csv or txt). This parameter has no effect on xls files. If ommited, it is assumed to be Encoding.Default.This parameter only applies when reading Text files. It is the same on the constructor of a StreamReader, and it says if BOM must be used at the beginning of the file. It defaults to true. for more information on how to use it. A list of formats allowed for dates and times, when opening text files. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. This value has no meaning in normal xls files, only text files.
Loads a new Spreadsheet form a stream, on one of the specified formats. Stream to open, must be a seekable stream. Verify it is on the correct position. List with possible file formats to try Delimiter used to separate columns, if the format is First row where we will copy the cells on the new sheet, for First column where we will copy the cells on the new sheet, for An array of elements, telling how each column should be imported.
See the example Encoding used by the file we are reading, when opening a Text-delimited file (csv or txt). This parameter has no effect on xls files. If ommited, it is assumed to be Encoding.Default.This parameter only applies when reading Text files. It is the same on the constructor of a StreamReader, and it says if BOM must be used at the beginning of the file. It defaults to true. for more information on how to use it. A list of formats allowed for dates and times, when opening text files. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. This value has no meaning in normal xls files, only text files.
Loads a new Spreadsheet form a stream, on one of the specified formats. Stream to open, must be a seekable stream. Verify it is on the correct position. List with possible file formats to try Delimiter used to separate columns, if the format is First row where we will copy the cells on the new sheet, for First column where we will copy the cells on the new sheet, for An array of elements, telling how each column should be imported.
See the example Encoding used by the file we are reading, when opening a Text-delimited file (csv or txt). This parameter has no effect on xls files. If ommited, it is assumed to be Encoding.Default.This parameter only applies when reading Text files. It is the same on the constructor of a StreamReader, and it says if BOM must be used at the beginning of the file. It defaults to true. for more information on how to use it. A list of formats allowed for dates and times, when opening text files. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. This value has no meaning in normal xls files, only text files.
Loads a new Spreadsheet form disk. File to open. Loads a new Spreadsheet form disk, on one of the specified formats. File to open List with possible file formats to try Delimiter used to separate columns, if the format is First row where we will copy the cells on the new sheet, for First column where we will copy the cells on the new sheet, for An array of elements, telling how each column should be imported. Encoding used by the file we are reading, when opening a Text-delimited file (csv or txt). This parameter has no effect on xls files. If ommited, it is assumed to be Encoding.Default This parameter only applies when reading Text files. It is the same on the constructor of a StreamReader, and it says if BOM must be used at the beginning of the file. It defaults to true. A list of formats allowed for dates and times, when opening text files. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. This value has no meaning in normal xls files, only text files. Loads a new Spreadsheet form disk, on one of the specified formats. File to open List with possible file formats to try Delimiter used to separate columns, if the format is First row where we will copy the cells on the new sheet, for First column where we will copy the cells on the new sheet, for An array of elements, telling how each column should be imported. Encoding used by the file we are reading, when opening a Text-delimited file (csv or txt). This parameter has no effect on xls files. If ommited, it is assumed to be Encoding.Default This parameter only applies when reading Text files. It is the same on the constructor of a StreamReader, and it says if BOM must be used at the beginning of the file. It defaults to true. A list of formats allowed for dates and times, when opening text files. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. This value has no meaning in normal xls files, only text files. Loads a new Spreadsheet form disk, on one of the specified formats. File to open List with possible file formats to try Delimiter used to separate columns, if the format is First row where we will copy the cells on the new sheet, for First column where we will copy the cells on the new sheet, for An array of elements, telling how each column should be imported. Encoding used by the file we are reading, when opening a Text-delimited file (csv or txt). This parameter has no effect on xls files. If ommited, it is assumed to be Encoding.Default This parameter only applies when reading Text files. It is the same on the constructor of a StreamReader, and it says if BOM must be used at the beginning of the file. It defaults to true. A list of formats allowed for dates and times, when opening text files. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. This value has no meaning in normal xls files, only text files. Changes the colors in the color palette so they can represent better the colors in use. This method will change the colors not used in the palette by colors used in the sheet. If there are more unique colors in the sheet than the 56 available in the palette, only the first colors will be changed.

When FlexCel saves an xls file, it saves the color information twice: The real color for Excel 2007 and newer, and the indexed color for older Excel versions. This method optimizes the palette of indexed colors so they look better in Excel 2003 or older. It doesn't effect Excel 2007 or newer at all.
If true, Excel will try to compress the pictures to keep sizes down. This option only aplies to Excel 2007 or newer. Defines whether to save a backup copy of the workbook or not. Whether the "Check for compatibility" dialog will pop up when saving as xls in Excel 2007 or newer. This option only aplies to Excel 2007 or newer. Excel has 2 different date systems. On windows systems it uses 1900 based dates, and on Macintosh systems it uses 1904 dates. You can change this on Excel under Options, and this property allows you to know and change which format is being used. If true, the full workbook will be recalculated when open in Excel. This option only aplies to Excel 2007 or newer. Number of threads that can be used at the same time by Excel when recalculating. Set it to 0 to disable multithread recalculation, and to -1 to let Excel decide the best number of threads to use. The maximum value for this property is 1024.
This option only aplies to Excel 2007 or newer.
This property has the value of the corresponding option on Excel options. Use this property to change the reference system used in the file. Note that this option only changes how Excel and FlexCel will display the file. Internally, the formulas will always be stored in A1 format, and converted by Excel to and from R1C1 if this property is true. FlexCel will also use this property to render the file when it is set to print formulas.



Also, this property doesn't change how FlexCel will parse or return the formula text in the cells or names. By default, even if this property is true, you will need to enter the formulas in FlexCel in A1 mode. To change the entry mode in FlexCel, please use
Reads and writes the recalculating options in the file. Note that this only affects the file and how Excel will recalculate, not how FlexCel does its recalcuation. FlexCel ignores this setting and uses instead. This property has the value of the corresponding option on Excel options. This handles the setting of Automatic Styles inside the outline options. Determines whether the summary columns should be right to or left to the details on outline. Determines whether the summary rows should be below or above details on outline. Page footer on the active sheet. For a description on the format of the string, see Page header on the active sheet. Note that this property sets the same header for the all the pages. In Excel 2007 or newer you can set a different header for the first page, or odd/even pages. If you want to control these options, see and .
A page header is a string that contains the text for the 3 parts of the header.

The Left section begins with &L, the Center section with &C and the Right with &R

For example, the text"&LThis goes at the left!&CThis is centered!&RThis is right aligned" will write text to all the sections.

This is the full list of macros you can include:

&& The "&" character itself&L Start of the left section&C Start of the centered section&R Start of the right section&P Current page number&N Page count&D Current date&T Current time&A Sheet name&F File name without path&Z File path without file name (XP or Newer)&G Picture (XP or Newer)&U Underlining on/off&E Double underlining on/off&S Strikeout on/off&X Superscript on/off&Y Subscript on/off&"<fontname>" Set new font <fontname>&"<fontname>,<fontstyle>" Set new font with specified style <fontstyle>. The style <fontstyle> is in most cases one of "Regular", "Bold", "Italic", or "Bold Italic". But this setting is dependent on the used font, it may differ (localized style names, or "Standard", "Oblique", ...).&<fontheight> Set font height in points (<fontheight> is a decimal value). If this command is followed by a plain number to be printed in the header, it will be separated from the font height with a space character.

Normally, the easiest way to find out which header string you need is to create an xls file on Excel, add a header, open the file with FlexCel and take a look at the generated header (You can use the ApiMate tool for that).
Returns true if the internal color palette contains the exact specified color. Note that Excel 2007 doesn't use the color palette, so this method is not needed there. Color to check. True if color is defined. Pastes the clipboard contents beginning on cells row, col. First row where to paste. First column where to paste. A string containing a tab separated text format. How the pasted cells will be inserted on the file. Pastes the clipboard contents beginning on cells row, col. First row where to paste. First column where to paste. A stream containing a Native xls format. How the pasted cells will be inserted on the file. Number of copies to print. Page number that will be assigned to the first sheet when printing. (So it will show in page headers/footers). You might set this value to null to keep the page automatic. Also, the value returned here will be null it this value is not set (Set to Automatic) True if the gray grid lines are printed when printing the spreadsheet. When true the sheet will print horizontally centered on the page. When true the row and column labels (A,B...etc for columns, 1,2... for rows) will be printed. If set, the sheet will be printed on at most this number of horizontal pages. Use 0 to have unlimited horizontal pages while still limiting the vertical pages with . (see "Preparing for printing" in the Pdf Api Guide) If set, the sheet will be printed on at most this number of vertical pages. Use 0 to have unlimited vertical pages while still limiting the horizontal pages with . (see "Preparing for printing" in the Pdf Api Guide) Misc options. Returns the dimensions for the selected paper. See also . Pre-defined standard paper size. If you want to set up a printer specific paper size, see Percent to grow/shrink the sheet. If true, sheet will be configured to fit on x . When true the sheet will print vertically centered on the page. Horizontal printer resolution on DPI. Vertical printer resolution on DPI. Protection data for the file. Modify its properties to open and read encrypted files. When is manual, use this method to force a recalculation of the spreadsheet. This specific version of the method will always perform a recalc, even if it is not needed. You can use to recalc only when is needed. When is manual, use this method to force a recalculation of the spreadsheet. When true this method will always perform a recalc. When false, only if there has been a change on the spreadsheet. While for performance reasons you will normally want to keep this false, you might need to set it to true if the formulas refer to functions like "=NOW()" or "=RANDOM()" that change every time you recalculate. Use this method to validate a file. FlexCel does not support all the range of functions from Excel when recalculating, so unknown functions will return "#NAME!" errors. Using this function you can validate your user worksheets and see if all the formulas they use are supported. This method will recalculate a single cell and all of it's dependencies, but not the whole workbook.

USE THIS METHOD WITH CARE! You will normally want to simply call or just save the file and let FlexCel calculate the workbook for you. This method is for rare situations where you are making thousands of recalculations and the speed of Recalc is not enough, and you have a big part of the spreadsheet that you know that didn't change.
Sheet for the cell we want to recalculate. Use here to refer to the active sheet. Row for the cell we want to recalculate. (1 based) Column for the cell we want to recalculate. (1 based) When true this method will always perform a recalc. When false, only if there has been a change on the spreadsheet. While for performance reasons you will normally want to keep this false, you might need to set it to true if the formulas refer to functions like "=NOW()" or "=RANDOM()" that change every time you recalculate. The result of the formula at the cell, or null if there is no formula.
Calculates the value of any formula and returns the result. The expression must be a valid Excel formula, it must start with "=", and cell references that don't specify a sheet (like for example "=A2") will refer to the active sheet. Cells used by the formula will be recalculated as needed too.
You can use this method as a simple calculator, or to calculate things like the sum of a range of cells in the spreadsheet. Look at the example for more information on how to use it.
Note that we will consider the expresion to be located in the cell A1 of the Active sheet. So for example "=ROW()" will return 1, and "=A2" will return the value of A2 in the active sheet.
Formula to evaluate. It must start with "=" and be a valid Excel formula. When true this method will always perform a recalc. When false, only if there has been a change on the spreadsheet. While for performance reasons you will normally want to keep this false, you might need to set it to true if the formulas refer to functions like "=NOW()" or "=RANDOM()" that change every time you recalculate. The value of the calculated formula.
Calculates the value of any formula and returns the result. The expression must be a valid Excel formula, it must start with "=", and cell references that don't specify a sheet (like for example "=A2") will refer to the active sheet. Cells used by the formula will be recalculated as needed too.
You can use this method as a simple calculator, or to calculate things like the sum of a range of cells in the spreadsheet. Look at the example for more information on how to use it.
Note that we will consider the expresion to be located in the cell A1 of the Active sheet. So for example "=ROW()" will return 1, and "=A2" will return the value of A2 in the active sheet.
Formula to evaluate. It must start with "=" and be a valid Excel formula. When true this method will always perform a recalc. When false, only if there has been a change on the spreadsheet. While for performance reasons you will normally want to keep this false, you might need to set it to true if the formulas refer to functions like "=NOW()" or "=RANDOM()" that change every time you recalculate. The value of the calculated formula.
When false Excel will not recalculate the formulas when loading the generated file. Set this property to change how the file will be recalculated. Note that this affects only how FlexCel recalculates the file, but not how Excel will recalculate it. It doesn't change anything in the generated file. To change the options for the file, use instead. Removes the AutoFilter from the active sheet. If there is no AutoFilter in the sheet, this method does nothing. If the file has macros, this method will remove them. Renames an existing style. Note that this might be an user-defined style, you can't rename built-in styles. Name of the existing style in the workbook. New name for the style. It must not exist. !WARNING! Not CF compliant. This method renders a range of cells into an image, and returns it.
No objects will be drawn on the cells, you can use to draw those.
Important note: This method will only render the text inside the cell, not the borders or anything else. If you want to export an xls file to images, you probably want to use
Index of the first row to render. (1 based). Index of the first column to render (1 based). Index of the last row to render. (1 based). Index of the last column to render (1 based). If true, the image will have a solid background with the color of the cells. If false, the image will have a transparent background. An image with the rendered cells.
!WARNING! Not CF compliant. This method renders a range of cells into an image, and returns it.
No objects will be drawn on the cells, you can use to draw those.
Important note: This method will only render the text inside the cell, not the borders or anything else. If you want to export an xls file to images, you probably want to use
Index of the first row to render. (1 based). Index of the first column to render (1 based). Index of the last row to render. (1 based). Index of the last column to render (1 based). If true, the image will have a solid background with the color of the cells. If false, the image will have a transparent background. Resolution of the image to create in dots per inch. If creating the image for the screen, use 96 dpi. Interpolation mode used to render the object. For more information, see Smoothing mode used to render the object. For more information, see If true text will be antialiased when rendering. An image with the rendered cells.
!WARNING! Not CF compliant. This method renders any object (chart, image, autoshape, etc) into an image, and returns it.
Background of the image will be transparent.
Index of the object (1 based). Might return null if the image is not visible.
!WARNING! Not CF compliant. This method renders any object (chart, image, autoshape, etc) into an image, and returns it. Index of the object (1 based). Resolution of the image to create in dots per inch. If creating the image for the screen, use 96 dpi. Interpolation mode used to render the object. For more information, see Smoothing mode used to render the object. For more information, see If true text will be antialiased when rendering for example a chart. If false, this method will return null. Use it if you need to know the image dimensions, but do not care about the real image since it is faster and uses less resources. Properties of the shape you are about to render. You can get them by calling . Color for the background of the image. For a transparent background, use ColorUtil.Empty. Returns the image dimension of the rendered object in points. Note that this can be different from the image size reported by because shadows or rotation of the image. You can get the image size in pixels just by looking at the image returned. Top-left coordinates of the image in points. While this is normally the same as the image coordinates you get in the properties, if there is a shadow to the right or to the top it might change. Use it to properly position the image where you want it. Size of the returned image in pixels. You only need to use this if returnImage is false, since the returned bitmap will be null. Otherwise, you can just read the bitmap size. Might return null if the image is not visible. !WARNING! Not CF compliant. This method renders any object (chart, image, autoshape, etc) into an image, and returns it. Index of the object (1 based). Resolution of the image to create in dots per inch. If creating the image for the screen, use 96 dpi. Interpolation mode used to render the object. For more information, see Smoothing mode used to render the object. For more information, see If true text will be antialiased when rendering for example a chart. If false, this method will return null. Use it if you need to know the image dimensions, but do not care about the real image since it is faster and uses less resources. Properties of the shape you are about to render. You can get them by calling . Returns the image dimension of the rendered object in points. Note that this can be different from the image size reported by because shadows or rotation of the image. You can get the image size in pixels just by looking at the image returned. Top-left coordinates of the image in points. While this is normally the same as the image coordinates you get in the properties, if there is a shadow to the right or to the top it might change. Use it to properly position the image where you want it. Size of the returned image in pixels. You only need to use this if returnImage is false, since the returned bitmap will be null. Otherwise, you can just read the bitmap size. Might return null if the image is not visible. Replaces the instances of oldValue by newValue in the active sheet. Value we want to replace. Value we want to use to replace oldValue. Range to Search. Null means the whole worksheet. If true, string searches will not be case sensitive, "a" = "A" If true, the search will cover formulas too. If true, only whole cells will be replaced. The number of replacements done. Number of rows actually used on the sheet. Saves the file to a stream, on native format. Stream where to save the file. Must be a seekable stream. Saves the file to a stream. Stream where to save the file. Must be a seekable stream. File format. If file format is text, a tab will be used as delimiter. Automatic will try to guess it from the filename, if present. Saves the file to a stream. Stream where to save the file. Must be a seekable stream. File format. Automatic will try to guess it from the filename, if present. Delimiter to use if FileFormat is Saves the file to a stream. Stream where to save the file. Must be a seekable stream. File format. Automatic will try to guess it from the filename, if present. Delimiter to use if FileFormat is Encoding for the generated file, when writing a Text-delimited file (csv or txt). This parameter has no effect on xls files. If ommited, Encoding.Default will be used. Note that to create a file with BOM (byte order marker) you need to specify an encoding here, the same as you do with a StreamWriter. Saves the file to disk, on native format. File to save. If is false, then fileName MUST NOT exist. Saves the file to a disk. File to save. If is false, then fileName MUST NOT exist. File format. If file format is text, a tab will be used as delimiter. Automatic will try to guess it from the filename, if present. Saves the file to a disk. File to save. If is false, then fileName MUST NOT exist. File format. Automatic will try to guess it from the filename, if present. Delimiter to use if FileFormat is Saves the file to a disk. File to save. If is false, then fileName MUST NOT exist. File format. Automatic will try to guess it from the filename, if present. Delimiter to use if FileFormat is Encoding for the generated file, when writing a Text-delimited file (csv or txt). This parameter has no effect on xls files. If ommited, Encoding.Default will be used. Note that to create a file with BOM (byte order marker) you need to specify an encoding here, the same as you do with a StreamWriter. This method will save the file in a format that will remain the same if the file is not modified. Normal xls files contain TimeStamp fields that might be modified when the file is downloaded or just copied.

While you will not be able to load the file saved, you might use this method to create a hash of a file and compare it to others to know if something changed.



This overload will not save cell selections or the active sheet, and it is equivalent to calling with the excludedRecords parameter set to TExcludedRecords.All. Use for more control on which records to exclude.
Stream where the file will be saved. You will probably want to hash this stream to store the corresponding hash.
This method will save the file in a format that will remain the same if the file is not modified. Normal xls files contain TimeStamp fields that might be modified when the file is downloaded or just copied.

While you will not be able to load the file saved, you might use this method to create a hash of a file and compare it to others to know if something changed.
Stream where the file will be saved. You will probably want to hash this stream to store the corresponding hash. A list with all the records you don't wish to include in the saved file (like for example cell selection). You will normally will want to specify TExcludedRecords.All here, but you can OR different members of the TExcludedRecords enumerations for more control on what is saved.
Scrolls the window to an specified place. Pane to move. Note that if you move for example the left column of the upper left pane, you will also move the left column of the lower left pane. First visible row. First visible column. Scrolls the window to an specified place. If the window is split, it will move the left and top panels. First visible row. First visible column. Selects a single cell. To select multiple cells, use Row to select (1 based) Column to select (1 based) When true, window will scroll so the selected cell is visible. This is equivalent to using method and is provided as a shortcut. Selects a group of cells on a given pane. If you just want to select just one cell, you can use the simpler method Cells to select. When this property is false, inserting and copying ranges will behave the same as it does in Excel. When this property is true, absolute references to cells inside the block being copied will be treated as relative. For example, if you have: A1: 2 B1: =$A$1 + $A$57 and you copy the row 1 to row 2, in Excel or FlexCel when this property is false you will get: A2: 2 B2: =$A$1 + $A$57 When this property is true, you will get: A2: 2 B2: =$A$2 + $A$57 In the second case, the first reference was updated because it was inside the range being copied, but the second was not. This property might be useful when you want to duplicate blocks of cells, but want the absolute references inside it to point to the newer block. Sends the graphical object one layer down. It will show below and will be covered by image at objectIndex-1. Index of the object to move. (1 based) Sends the graphical object one layer up on the display (z-order) position. It will show above and will cover the image at objectIndex+1. Index of the object to move. (1 based) Sends the graphical object to the bottom layer on the display (z-order) position. It will show below and will be covered by all other objects on the sheet. Index of the object to move. (1 based) Sets an AutoFilter in a cell range. Note that the bottom coordinate of the range will be ignored, since AutoFilters use only one row. Range to set the AutoFilter. If range is null, this method does nothing. The bottom coordinate on range will not be used. Sets the AutoFilter in the Active sheet to point ot the range specified. Row where the AutoFilter will be placed (1 based). First column for the AutoFilter range (1 based). Last column for the AutoFilter range (1 based). Sets the current row to automatically autosize to the biggest cell or not. Row index (1-based) If true, row will have autofit. Sets the Cell format (XF) on a given cell. You can create new formats using the function. Row index of the cell (1 based) Column index of the cell (1 based) XF Format index. See Using FlexCel API.pdf.> Changes part of the Cell format on a range of cells. WARNING! This method is slower than the other SetCellFormat versions, use it only if you do not care about maximum performance or if you just can't use the other SetCellFormat versions. This particular version of SetCellFormat has to read the format on each cell, modify it and write it back. While still very fast, it is not as fast as just setting the format on a cell. Row index of the top cell on the range (1 based) Column index of the left cell on the range (1 based) Row index of the bottom cell on the range (1 based) Column index of the right cell on the range (1 based) Format to apply to the cells.> Indicates which properties of newFormat will be applied to the cells. When true, the format for the border will be applied only to the outer cells in the range. This can be useful for example to draw a box around a range of cells, but not drawing borders inside the range. Other parameters, like the cell background, will still be applied to the full range. Changes part of the Cell format on a range of cells. WARNING! This method is slower than the other SetCellFormat versions, use it only if you do not care about maximum performance or if you just can't use the other SetCellFormat versions. This particular version of SetCellFormat has to read the format on each cell, modify it and write it back. While still very fast, it is not as fast as just setting the format on a cell. Row index of the top cell on the range (1 based) Column index of the left cell on the range (1 based) Row index of the bottom cell on the range (1 based) Column index of the right cell on the range (1 based) Format to apply to the cells.> Indicates which properties of newFormat will be applied to the cells. When true, the format for the border will be applied only to the outer cells in the range. This can be useful for example to draw a box around a range of cells, but not drawing borders inside the range. Other parameters, like the cell background, will still be applied to the full range. Sets the Cell format (XF) on a range of cells. You can create new formats using the function. Row index of the top cell on the range (1 based) Column index of the left cell on the range (1 based) Row index of the bottom cell on the range (1 based) Column index of the right cell on the range (1 based) XF Format index. See Using FlexCel API.pdf.> Enters an HTML formatted string into a cell, and tries to match the Excel formats with the Html formatting tags. Note that the rich text inside Excel is more limited than xls (you are limited to only changing font attributes), so many tags from the HTML tags might be ignored. Whenever a tag is not understood or cannot be mapped into Excel, it will just be omitted. For a list of supported tags, see the Remarks section. Cell Row (1 based) Cell Column (1 based) Text with an html formatted string. Format for the cell. It can be -1 to keep the existing format. Enters an HTML formatted string into a cell, and tries to match the Excel formats with the Html formatting tags. Note that the rich text inside Excel is more limited than xls (you are limited to only changing font attributes), so many tags from the HTML tags might be ignored. Whenever a tag is not understood or cannot be mapped into Excel, it will just be omitted. For a list of supported tags, see the Remarks section. Cell Row (1 based) Cell Column (1 based) Text with an html formatted string. Format for the cell. It can be -1 to keep the existing format. Converts a string to the best datatype, and the enters it into a cell. Cell Row (1 based) Cell Column (1 based) Value to enter into the cell. New XF of the cell. It can be modified, i.e. if you enter a date, the XF will be converted to a Date XF. A list of formats allowed for dates and times. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. Converts a string to the best datatype, and the enters it into a cell. Cell Row (1 based) Cell Column (1 based) Value to enter into the cell. New XF of the cell. It can be modified, i.e. if you enter a date, the XF will be converted to a Date XF. A list of formats allowed for dates and times. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. Converts a string to the best datatype, and the enters it into a cell. Cell Row (1 based) Cell Column (1 based) Value to enter into the cell. New XF of the cell. It can be modified, i.e. if you enter a date, the XF will be converted to a Date XF. A list of formats allowed for dates and times. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. Converts a string to the best datatype, and the enters it into a cell. Cell Row (1 based) Cell Column (1 based) Value to enter into the cell. New XF of the cell. It can be modified, i.e. if you enter a date, the XF will be converted to a Date XF. A list of formats allowed for dates and times. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. Converts a string to the best datatype, and the enters it into a cell. Cell Row (1 based) Cell Column (1 based) Value to enter into the cell. New XF of the cell. It can be modified, i.e. if you enter a date, the XF will be converted to a Date XF. A list of formats allowed for dates and times. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. Converts a string to the best datatype, and the enters it into a cell. Cell Row (1 based) Cell Column (1 based) Value to enter into the cell. New XF of the cell. It can be modified, i.e. if you enter a date, the XF will be converted to a Date XF. A list of formats allowed for dates and times. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. Converts a string to the best datatype, and the enters it into a cell. Cell Row (1 based) Cell Column (1 based) Value to enter into the cell. New XF of the cell. It can be modified, i.e. if you enter a date, the XF will be converted to a Date XF. A list of formats allowed for dates and times. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. Converts a string to the best datatype, and the enters it into a cell. Cell Row (1 based) Cell Column (1 based) Value to enter into the cell. New XF of the cell. It can be modified, i.e. if you enter a date, the XF will be converted to a Date XF. A list of formats allowed for dates and times. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. Sets the value on a cell. Sheet number, 1 based Row, 1 based. Column, 1 based. Value to set. Format to Set. You normally get this number with function. Use -1 to keep format unchanged. Sets the value on a cell. Row, 1 based. Column, 1 based. Value to set. Sets the value and format on a cell. Row, 1 based. Column, 1 based. Value to set. Format to Set. You normally get this number with function. Use -1 to keep format unchanged. Links the checkbox to a cell, so when the cell changes the checkbox changes too, and vice-versa. To unlink the cell, make linkedCell null. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Cell that will be linked to the checkbox. To unlink the checkbox, make this parameter null.
Sets the value of a checkbox in the active sheet. Note that this only works for checkboxes added through the Forms toolbar. It won't return the values of ActiveX checkboxes. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Value to set.
Sets the format characteristics specified in ApplyFormat for the entire column. Column to set. Format to apply. Indicates which properties of newFormat will be applied to the cells. When true, all existing cells on the column will be reset to this format. This is the standard Excel behavior and the recommended option. If you don't care about existing cells, you can speed up this method by setting it to false. Sets the format for an entire column. Column to set. XF Format index. Sets the format for an entire column. Column to set. XF Format index. When true, all existing cells on the column will be reset to this format. This is the standard Excel behavior and the recommended option. If you don't care about existing cells, you can speed up this method by setting it to false. Hides or shows an specific column. Column index (1 based). If true, column will be hidden, if false it will be visible. Sets all Column options at once (if the column is hidden, etc). Column Index (1 based) A flag with all column options. Changes a color on the Excel color palette. Index of the entry to change. Must be 1<=indexlt;= Color to set. Changes a color on the Excel theme. Only has effect in Excel 2007, and you need .NET 3.5 or newer to use this method.

If you want to change the full theme, use and
Color of the theme to change. Color to set.
Sets the Outline level for a column. Column index (1 based) Outline level. must be between 0 and 7. Sets the Outline level for a column range. Column index of the first column on the range. (1 based) Column index of the last column on the range. (1 based) Outline level. must be between 0 and 7. Sets the current Column width, in Excel internal units. (Character width of font 0 / 256) Column Index (1 based) Column width, in Excel internal units. (Character width of font 0 / 256). See Sets or deletes a comment at the specified cell. Row index (1 based) Column index (1 based) Text of the comment. Set it to String.Empty to delete the comment. Author of the comment. Properties of the popup. Sets or deletes a comment at the specified cell. Row index (1 based) Column index (1 based) Text of the comment. Set it to String.Empty to delete the comment. Author of the comment. Properties of the popup. Sets or deletes a comment at the specified cell. Row index (1 based) Column index (1 based) Text of the comment. Set it to String.Empty to delete the comment. Author of the comment. Properties of the popup. Sets or deletes a comment at the specified cell. Row index (1 based) Column index (1 based) Text of the comment. Set it to String.Empty to delete the comment. Author of the comment. Properties of the popup. Sets the popup placement for an existing comment. If there is not a comment on cell (row,col), this will create an empty one. Row index (1 based) Column index (1 based) Placement and properties of the comment popup. Null if there is no comment on the cell. This parameter can be a TImageProperties, or the more complete derived class TCommentProperties, if you need to set extra information like the text alignment. Sets the comment properties at the specified index. Row index (1 based) Comment index (1 based) Comment properties. This parameter can be a TImageProperties, or the more complete derived class TCommentProperties, if you need to set extra information like the text alignment. Changes the properties (text and position of the popup) for an existing comment at commentIndex. To delete a comment, set a "new TRichString()" as the "value" param. To add a new comment, use . Row Index (1 based) Comment index (1 based) Text of the comment. Set it to "new TRichString()" to remove the comment. Properties of the popup. Changes the properties (text and position of the popup) for an existing comment at commentIndex. To delete a comment, set a String.Empty as the "value" param. To add a new comment, use . Row Index (1 based) Comment index (1 based) Text of the comment. Set it to String.Empty to remove the comment. Properties of the popup. Sets the font definition for a given font index. Normally it is of not use, (you should use AddFont or AddFormat instead) but could be used to change the default font format. (using SetFont(0, font); ) Font index. 0-based Font definition Sets the font definition for a given format index. Normally it is of not use, (you should use AddFont or AddFormat instead) but could be used to change the default format. (using SetFormat(0, fmt); ). This emthod will change style XFs and CellXfs, depending if aFormat is a StyleXF or a CellXF. Format index. 0-based Format definition This method sets the image associated to a given section of the header or footer. There can be only one image per section, and you refer it from the header string (see and ) by writing &G. NOTE THAT YOU CAN ONLY USE HEADER AND FOOTER GRAPHICS ON EXCEL XP AND NEWER. Excel 2000 and 97 will still open the file, but they will show no graphics. ALSO, NOTE that only setting the image will not display it. You need to write &G in the corresponding or This methods will try to automatically guess/convert the image type of the data to the better fit. Type of page for which we want to set the image. You will normally get this value from . Section of the header or footer for which we want to set the image. Image data. Image Size. This method sets the image associated to a given section of the header or footer. There can be only one image per section, and you refer it from the header string (see and ) by writing &G. NOTE THAT YOU CAN ONLY USE HEADER AND FOOTER GRAPHICS ON EXCEL XP AND NEWER. Excel 2000 and 97 will still open the file, but they will show no graphics. ALSO, NOTE that only setting the image will not display it. You need to write &G in the corresponding or Type of page for which we want to set the image. You will normally get this value from . Section of the header or footer for which we want to set the image. The image type for the data sent. (If it is a bmp, jpg or other) Image data. Image size. Modifies an existing Hyperlink. Use to add a new one. Index of the hyperlink (1 based). Hyperlink description. Changes the cells an hyperlink is linked to. Index of the hyperlink (1 based). Range of cells the hyperlink will refer to. Sets the image data for an existing image. It will try to automatically guess/convert the image type of the data to the better fit. Index of the image on the sheet array (1-based) Image data. Sets the image data and / or image properties of an existing image. Index of the image on the sheet array (1-based) Image data. Image type of the new data. Sets the image data and / or image properties of an existing image. Index of the image on the sheet array (1-based) Image data. Image type of the new data. If false (the default) then imageIndex is an index to the list of images. When true imageIndex is an index to the list of all objects in the sheet. When you have the object id, you can avoid calling which is a slow method, by setting this parameter to true. Path to the object, when the object is grouped with others. This parameter only has meaning if usesObjectIndex is true.

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3"
Sets the image data for an existing image. It will try to automatically guess/convert the image type of the data to the better fit. Index of the image on the sheet array (1-based) Image data. If false (the default) then imageIndex is an index to the list of images. When true imageIndex is an index to the list of all objects in the sheet. When you have the object id, you can avoid calling which is a slow method, by setting this parameter to true. Path to the object, when the object is grouped with others. This parameter only has meaning if usesObjectIndex is true.

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3"
WARNING! Not CF compliant. Image Index. 1-Based. Image to replace. WARNING! Not CF compliant. Image Index. 1-Based. Image to replace. If false (the default) then imageIndex is an index to the list of images. When true imageIndex is an index to the list of all objects in the sheet. When you have the object id, you can avoid calling which is a slow method, by setting this parameter to true. Path to the object, when the object is grouped with others. This parameter only has meaning if usesObjectIndex is true.

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3"
Sets the image properties of an existing image. Index of the image on the sheet array (1-based) Image size, placement, etc. Changes the external link at position i for a new value. Note that you can't add new links with this method, external links are added automatically when you add formulas that reference other worksheets. This method is only to change existing links to point to other place. All formulas pointing to the old link will point to the new.

Note that the replacing filename should have the same sheets as the original, or the formulas might break.
Index of the link (1 based). i goes between 1 and Please make sure this is a VALID filename, or you are likely to crash Excel. Also, xls file format doesn't like paths starting with "..", so you might need to enter the full path here.
Modifies or adds a Named Range. If the named range exists, it will be modified, else it will be added. If the range is not user defined (like "Print_Area") it will have a one-char name, and the value is on the enum Look at the example for more information. Data of the named range. You don't need to specify the RPN Array. The name index of the inserted or modified range (1 based). Modifies a Named Range in the specified position. You could normally use to do this, but if you want to modify the name of the named range, then you need to use this overloaded version. would add a new range instead of modifying the existing one if you change the name. Look at the example for more information on how to use it. Index of the named range we are trying to modify. Data of the named range. You don't need to specify the RPN Array. Sets the object placement. Index of the object (1-based) Object path t the shape if this is a grouped shape. Coordinates of the object. Sets the object placement. Index of the object (1-based) Object path t the shape if this is a grouped shape. Coordinates of the object. Sets the input range for a ListBox or a ComboBox. When applied to other objects, this mehtod does nothing. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Input range for the object.
Links the object to a cell, if the object can be linked. If the object is a radio button then all the other radio buttons in the group will be linked to the same cell, so when the cell changes the radio buttons too, and vice-versa. To unlink the cell, make linkedCell null. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Cell that will be linked to the radio button. To unlink the radio button, make this parameter null.
Associates an object with a macro. While this will normally be used in buttons, you can associate macros to almost any object. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Macro that will be associated with the object. Look at apimate to know the exat name you have to enter here.
Sets the name for an autoshape. Index of the object (1-based) Index to the child object you want to change the text. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Name for the autoshape. Use null to remove the name from an AutoShape.
Sets an Hyperlink property for an autoshape. Verify the property expects a Hyperlink, currently only expects hyperlinks. This is an advanced method and should be used with care. For normal use, you should use one of the standard methods. Index of the object (1-based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Property you want to change. Fro hyperlinks it should be Value you want to use.
Sets a DOUBLE (Encoded as 16.16) property for an autoshape. Verify the property expects a DOUBLE. This is an advanced method and should be used with care. For normal use, you should use one of the standard methods. Index of the object (1-based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Property you want to change. Value you want to use.
Sets a BOOLEAN property for an autoshape. Verify the property expects a BOOLEAN. This is an advanced method and should be used with care. For normal use, you should use one of the standard methods. Note that boolean properties are all stored in the same byte of the last property in the set. Index of the object (1-based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Property you want to change. MAKE SURE it is the LAST property in the set. Boolean properties are grouped so all properties on one set are in only one value. So, the last bool property on the set is the first bit, and so on. ONLY THE LAST PROPERTY ON THE SET IS PRESENT. Value you want to use.
Sets a LONG property for an autoshape. Verify the property expects a LONG. This is an advanced method and should be used with care. For normal use, you should use one of the standard methods. Index of the object (1-based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Property you want to change. Value you want to use.
Sets a STRING property for an autoshape. Verify the property expects a STRING. This is an advanced method and should be used with care. For normal use, you should use one of the standard methods. (like SetObjectText) Index of the object (1-based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Property you want to change. Text you want to use.
Sets the selected item of an object from the "Forms" palette. It can be a combobox, a listbox, a spinbox or a scrollbar. Note that this only works for objects added through the Forms toolbar. It won't return the values of ActiveX objects. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Position of the selected item in the object. 0 means no selection, 1 means that the first item is selected.
Sets the spin properties of an object. You should apply this only to scrollbars and spinners. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Properties of the spinner.
Sets the positon in a scrollbar object. If the object is linked to a cell, the cell will be updated. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Position for the scrollbar.
Sets the text for an autoshape. If the object does not accept text, this method will do nothing. Index of the object (1-based) Index to the child object you want to change the text. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Text you want to use. Use null to delete text from an AutoShape.
This method will set all the headers and footers in a sheet. If you want a simple header or footer for all the pages, you might want to use and Structure with the headers and footers definition. Sets printer driver information. This method is not intended to be used alone, but together with to copy printer driver information from a file to another. Printer driver information obtained with . Use null to remove the printer settings. Sets the Margins on the active sheet. Sets the value of a radio button in the active sheet. Note that this only works for radio buttons added through the Forms toolbar. It won't return the values of ActiveX radio buttons Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" If true, the option button will be set, and all other buttons in the range will be deselected. When false the radio button will be deselected.
Sets the format characteristics specified in ApplyFormat for the entire row. Row index (1-based) Format to apply. Indicates which properties of newFormat will be applied to the cells. When true, all existing cells on the row will be reset to this format. This is the standard Excel behavior and the recommended option. If you don't care about existing cells, you can speed up this method by setting it to false. Sets the XF format for the entire row. Row index (1-based) XF format. Sets the XF format for the entire row. Row index (1-based) XF format. When true, all existing cells on the row will be reset to this format. This is the standard Excel behavior and the recommended option. If you don't care about existing cells, you can speed up this method by setting it to false. Sets the current Row height, in Excel internal units. (1/20th of a point) Row Index (1 based) Row height, in Excel internal units. (1/20th of a point). See Hides or shows an specific row. Row index (1 based) If true, row will be hidden, if false it will be visible. Sets all Row options at once (if the row is autosize, if it is hidden, etc). Row Index (1 based) A flag with all row options Sets the Outline level for a row. Row index (1 based) Outline level. must be between 0 and 7. Sets the Outline level for a row range. Row index of the first row on the range. (1 based) Row index of the last row on the range. (1 based) Outline level. must be between 0 and 7. Modifies an existing style if name already exists, or creates a new style if it doesn't. Name for the style. It might be an user defined name, or a built-in name. You can get a list of buit.in names with The new style definition. This is an advanced method, that allows you to set the full theme in use. Normally you will just want to replace colors, and you can do this with and methods.
This method is only available in .NET 3.5 or newer
Theme to set. You would normally use the result from here, or you might load a method from a ".tmx" file. There are many standard tmx files available in an Office instalation under the "Document Themes Version" folder
Sets either the minor or the major font for the theme. Font Scheme we want to set (either minor or major). Using "none" here will do nothing. Font definition. Creates an Excel What-if table in the range of cells specified by Range. Calling this method is tha same as setting a cell value with a TFormula where TFormula.Span has more than one cell, and TFormula.Text is something like "{=TABLE(,A4)}". The parameters for the =TABLE function are rowInputCell and colInputCell, and they look the same a Excel will show them. Range for the table. This is the range of cells that will have "={TABLE()}" formulas. Row input cell for the table. Make it null if you don't want a row input cell. If both rowInputCell and colInputCell are null, a table with deleted references will be added.

Note that the sheet here is ignored, What-if tables need the input cells to be in the same sheet as the table. Column input cell for the table. Make it null if you don't want a column input cell. If both rowInputCell and colInputCell are null, a table with deleted references will be added.

Note that the sheet here is ignored, What-if tables need the input cells to be in the same sheet as the table.
Returns or sets the codename of a sheet, that is an unique identifier assigned to the sheet when it is created. Codenames are useful because they never change once the file is created, and they are what macros reference. Very important! Don't change a codename once it has ben created if you have macros or other objects that might reference them. The number of sheets on the file. Reads and changes the name of the active sheet. To switch to another sheet by its name, use This property groups a lot of properties of the sheet, like for example if it is showing formula texts or the results. Most of this properties can be changed directly from XlsFile, but this method allows you to change them all together, or to easily copy the options from one file to another. Look also at for options that affect all sheets. Reads/Writes the color of the current sheet tab. to specify no color. Use this property to know it the is a worksheet, a chart sheet or other. Sets the visibility of the active sheet. This property groups a lot of properties of all the sheets in the workbook, like for example if the sheet tab bar at the bottom is visible. Look also at for options that affect only the active sheet. Reads/Writes the zoom of the current sheet. When true, the formula text will be displayed instead of the formula value. You can also set this option with True if the gray grid lines are shown on the Active sheet. You can also set this option with Sorts a range on the current sheet. Range to sort. It must not include headers. If true, rows will be sorted. If false, columns will. An array of integers indicating the columns or rows you want to use for sorting. Note that this number is absolute, for example column 1 always means column "A" no matter if the range we are sorting begins at column "B". A null array means sort by the first column or row, then by the second, etc. up to 8 entries. An array of flags indicating whether to sort ascending or descending for each Key. If null, all sorts will be ascending. If not null and the array size is less than the size of the "Keys" parameter, all missing entries are assumed to be Ascending. Comparer to create a custom way to compare the different items. Set it to null to use default ordering. This command is equivalent to Menu->Window->Split. It will split the window in 4 regions. Note that because Excel works this way, when you the windows are unsplitted and vice-versa See also Offset from the left on 1/20 of a point. Zero for no vertical split. Offset from the top on 1/20 of a point. Zero for no horizontal split. Returns the number of named styles in the file. This property lets you know if the version of FlexCel.dll you are using supports XLSX file format. Currently XLSX is only supported in .NET 3.0 or newer. Tries to convert a string into an built-in style identifier. Will return true if styleName can be converted, false otherwise. Style that we want to convert to built-in style. Returns the built-in style. This value is only valid if this method returns true. Returns the level built-in style (1 based). This value is only valid if this method returns true, and only applies to outline styles. It will be 0 for non outline styles. True is styleNameis a built-in style (and thus style and level are valid), false otherwise. Unmerges the range of cells. The coordinates have to be exact, if there is no merged cell with the exact coordinates, nothing will be done. First row of the merged cell. First column of the merged cell. Last row of the merged cell. Last column of the merged cell. When in virtual mode ( is assigned) this event will be called after the file has been processed. You can use it to do cleanup. If you assign this event FlexCel will not load the file into memory when opening a file, allowing you to open very big files using little memory. This event will be called for every value read from the file, and then the value will be discarded, instead of loaded into memory. Look for "Virtual Mode" in the Performance Guide for more information. When in virtual mode ( is assigned) this event will be called after the sheet names have been read, but before starting to read the cells. You can use this event to know how many sheets you are reading. Set this value to true to turn Virtual Mode on. "Virtual Mode" is explained in the Performance Guide. Factor to multiply default column widths. See remarks for a detailed explanation. Xls files created by Excel 2007 have additional records that allow the generated file to store characteristics not available in Excel 2003 or older. (Like for example True color for cells instead of 54 colors). When opening an xls file created by Excel 2007 in Excel 2007, Excel will be able to read those values back.

By default FlexCel will read those extra records and when reading, and identify the file it creates as created by Excel 2007 when writing, so when you open it in Excel 2007 it will read those additional records. If for any reason you prefer FlexCel to behave as Excel 2003, saving the files as if they were created by Excel 2003 (So Excel 2007 will ignore the additional characteristics), and also stop FlexCel from reading those extra records, just change the value of this property.
Utility methods to create normal fonts from Excel ones. Converts between a standard FontStyle and a TFlxFont. FlexCel font to convert. A similar FontStyle. Tries to create a new font given the Excel data. Name of the font we want to create. Size of the font. Style of the font. A new font with the desired parameters. Returns Information to convert between standard units and Excel units. Multiply by this number to convert the width of a column from pixels to excel internal units. Note that the default column width is different, you need to multiply by Multiply by this number to convert the width of a column from GraphicsUnit.Display units (1/100 inch) to Excel internal units. Note that the default column width is different, you need to multiply by Convert the DEFAULT column width to pixels. This is different from , that goes in a column by column basis. When showing/printing the sheet and "Show formula" check box is on, column widths are double of the normal ones. This method returns 0.5 when "Show formulas" is turned on, and 1 if it is not. Returns the width of the 0 font on Excel. Normally this is 7, but can change depending on the file. The user might modify it by changing Format->Style->Normal. Multiply by this number to convert the height of a row from GraphicsUnit.Display units (1/100 inch) to Excel internal units. Exception thrown when an exception on the core engine happens. Creates a new FlexCelCoreException Creates an exception from a serialization context. Serialization information. Streaming Context. Creates a new FlexCelCoreException with an error message. Error Message Creates a new FlexCelCoreException with an error message and an exception code. Error Message Error code of the exception. Creates a nested Exception. Error Message. Inner Exception. Error code of the exception. Creates a nested Exception. Error Message. Inner Exception. Error code on the Exception. Implements standard GetObjectData. Excel formats to copy/paste to/from the clipboard Native Excel Format. An enumeration of all possible FlexCel non fatal errors that can be logged. This error should never happen. There are more page breaks in this page than the maximum allowed, and page breaks over this maximum are being ignored. You can control if you want a "real" exception here with the and properties. A corrupt xlsx file can have invalid names. If is set to the correct value, those names will be imported as #REF! instead of rising an Exception. There was a GDI+ error trying to draw or print a metafile. It will be rendered as a bitmap. The image could not be rendered by GDI+. An image could not be drawn. This error normally happens in .NET 1.1 if vj# is not installed. The font was not found in the system. A substitute font will be used for the rendering, and it might not look the same.
If you are seeing this message in a server, make sure the server has the same fonts installed as the machine where you developed the application.
FlexCel is trying to render a character that is not in the font or the fallback fonts. This character will show as an empty square in the generated PDF file.
Normally this means that Excel is replacing fonts, for example Arial with MS Mincho, and to fix this error you should provide a suitable list of Fallback fonts. Look at the PDF documentation in Exporting to PDF for more information ("Dealing with missing fonts and glyps" section).
FlexCel is trying to render a character that is not in the font, but it is in the fallback font list. This character will be drawn with the fallback font.
Normally this means that Excel is replacing fonts, for example Arial with MS Mincho. Look at the PDF documentation in Exporting to PDF for more information ("Dealing with missing fonts and glyps" section).
The font you are trying to ue does not have a "bold" or "italic" variation, and we will use "faux" font created by making the normal font heavier or slanting it to the right. This normally results in lower quality fonts, and will not work with fonts embedded. We recomend that you use fonts that have italics and bold variations. Look at the PDF documentation in Exporting to PDF for more information ("Dealing with missing fonts and glyps" section). The "Fonts" folder in this machine has a file that could not be parsed by FlexCel and is probably corrupt. While this will not affect FlexCel in any way, you might want to look at the "Font" folder and remove this font, since it can make windows slower. There was a sharing violation when trying to save an html file, and is true. Normally this just means two parallel threads trying to write the same file and can be safely ignored. A malformed Url was detected in the xls file and was not exported. An example of this might be: "mailto:test@test@test". Delegate for ErrorInfo events. Exception thrown when an specific FlexCel error happens. Base of all FlexCel hierarchy list. Creates a new FlexCelException Creates an exception from a serialization context. Serialization information. Streaming Context. Creates a new FlexCelException with an error message. Error Message Creates a nested Exception. Error Message. Inner Exception. Implements standard GetObjectData. This class reports al FlexCel non-fatal errors. Use it to diagnose when something is going wrong. Set this to false if you want to prevent FlexCel from tracing non fatal errors. Note that if you don't have any event attached to this class the result will be the same as having Enabled = false. This event is called each time a non fatal error happens in FlexCel. Hook an event listener to it to be notified when this happens. Utility methods and constants usable anywhere. OBSOLETE: Use instead. Multiply by this number to convert the width of a column from pixels to excel internal units. Note that the default column width is different, you need to multiply by OBSOLETE: Use instead. Multiply by this number to convert the width of a column from GraphicsUnit.Display units (1/100 inch) to Excel internal units. Note that the default column width is different, you need to multiply by Brightness to keep the image unchanged. Contrast to keep the image unchanged. The default XF for a file. You can also access this value with Gamma to keep the image unchanged. Zero rotation. OBSOLETE: Use instead. Multiply by this number to convert the DEFAULT column width to pixels. This is different from , that goes in a column by column basis. Returns "A" for column 1, "B" for 2 and so on. Index of the column, 1 based. Maximum column in the spreadsheet. (0 based). This number might be 255 if is TExcelVersion.v97_2003 or 16383 otherwise. Maximum column on an xlsx (Excel 2007 and up) spreadsheet. (0 based, that is 16383) Maximum column on an xls (Excel 97 - 2003) spreadsheet. (0 based, that is 255) Maximum number of characters allowed in the author of a comment. Maximum number of characters in an Error text for a Data Validation. Maximum number of characters in an Error title for a Data Validation. Maximum number of characters in an Input text for a Data Validation. Maximum number of characters in an Input title for a Data Validation. Maximum number of arguments for a formula in xls file format. Maximum number of arguments for a formula in xlsx file format. Maximun number of characters in a Formula Maximun number of characters in a Formula for an Excel 2007 or newer spreadsheet. Maximun number of characters in a Formula for an Excel 97 to 2003 spreadsheet. Maximum length of a direct string inside a formula, as in ' = "my long string..." Number of letters in a column name. This is 2 in xls97 (columns go up to IV) and 3 in xls2007 (columns go up to XFD) Maximum column on Pocket Excel a spreadsheet. (0 based, that is 255) Maximum row on a Pocket Excel spreadsheet. (0 based, that is 16383) Maximum sheet on a Pocket Excel spreadsheet. (0 based, that is 255) Maximum row in the spreadsheet. (0 based). This number might be 65535 if is TExcelVersion.v97_2003 or 1048575 otherwise. Maximum row on an xlsx (Excel 2007 and up) spreadsheet. (0 based, that is 1048575) Maximum row on an xls (Excel 97 - 2003) spreadsheet. (0 based, that is 65535) Maximum sheet on a spreadsheet. (0 based, that is 65530) Maximum length of a string in a cell. Constant meaning there is no transparent color defined on the image. When an objpath starts with this character, it is an absolute path that includes the object index. If it doesn't start with it, then the ObjPath doesn't include the original object. When an objpath starts with this character, it is a path that goes directly to the name of an object. Note that when more than an object have the same name in the same sheet, this path won't work and you will have to use absolute or relative ones. String used to separate 2 objects on an object path. When an objpath starts with this character, what follows is a single shape id that identifies the object. Multiply by this number to convert pixels to excel row height units. OBSOLETE: Use instead. Multiply by this number to convert the height of a row from GraphicsUnit.Display units (1/100 inch) to Excel internal units. Use this class to convert between a Date expressed on Excel format (a double) and a TDateTime. Converts a Double on Excel format for dates (Ole Automation Format) into a DateTime. Double you want to convert. When true dates start at 1904 (Macs) instead of 1900 (Windows) The value as DateTime. Returns true is the double value can be converted into and Excel date. Double you want to convert. When true dates start at 1904 (Macs) instead of 1900 (Windows) Converts a DateTime into a Double on Excel format for dates (Ole Automation Format). DateTime you want to convert. When true dates start at 1904 (Macs) instead of 1900 (Windows) The value as a double on Excel format. Converts a Double on Excel format for dates (Ole Automation Format) into a DateTime. Double you want to convert. When true dates start at 1904 (Macs) instead of 1900 (Windows) Returns the value as DateTime. True if conversion was successful, false otherwise. Converts a DateTime into a Double on Excel format for dates (Ole Automation Format). DateTime you want to convert. Returns the value as double on Excel format When true dates start at 1904 (Macs) instead of 1900 (Windows) True if conversion was successful, false otherwise. Error Codes used in Exceptions. Unexpected error Can't convert the object into a valid value. Adapter's "Connect" Method has not been called. Trying to access to an invalid row. Trying to access to an invalid column. Generic out of range error. Params for this message should be taken from FlxParam. Generic out of range error when there are no objects to index. Can't find a dataset for a named range. Sheet name does not exist. Formula is longer than 0xFFFF When parsing a formula and expecting a string. A string missing the ending " A formula with an invalid identifier. A formula with an invalid character. A missing parenthesis. Invalid number of parameters for the function. Unexpected end of formula. Formula must start with "=" Formula is invalid. Function on the formula does not exist. A formula refers to itself. An invalid cell reference. A valid one is "A1" An invalid range reference. A valid one is "A1:A2" The name defining band "{0}" has a negative number of rows or columns. Verify it has absolute references ($A$1:$B$2) intead of relative ($A$1:B2) An invalid End of tag (for example, <#...>>) Missing arguments for a function. Too much arguments on a function. Reading after the end of a datatable. Reading before the beginning of a datatable. 2 data ranges intersect on a report. Function is not defined on file FunctionNames.resx Id is not defined on file xxxx Invalid format on report. Column does not exits. The property does not exist. Dataset does not have a field. Dataset is not inside any named range. Image is invalid. Error trying to create an empty image. Probably out of memory. Error in an included report. Too many nested includes, probably one file is recursively including itself. Cannot find the included named range. Range is not __, _, I_ or II_ This feature is not supported on non commercial version of flexcel. User defined function implementation is null. Can't find a dataset for a configsheet. Can't find a dataset for an expression on the sheet. RecalcMode can only be changed when no file is open. Workbook can't be null on this version of the method. Error with the compression engine. A relationship is invalid. A relationship is invalid. A relationship is invalid. A relationship is invalid. A relationship is invalid. A relationship is invalid. A relationship is invalid. SQL function should have only 2 parameters. SPLIT function should have only 2 parameters. Second parameter of a split function must be a positive integer. TOP function should have only 2 parameters. Second parameter of a TOP function must be a positive integer. ROWS function should have only 1 parameter. Parameter of a ROWS function must be a positive integer. COLUMNS function should have only 1 parameter. Missing closing parenthesis. Missing closing parenthesis. Missing closing parenthesis. Missing closing parenthesis. Missing closing parenthesis. Missing closing parenthesis. Adapter not found. The adapter has not SQL select command defined. SQL string contains invalid characters. DataSet should not be null. Adapter should not be null. Missing parenthesis. Error reading config tables. Parameters for distinct filter should not be null. Parameters for SQL parameters should not be null. The parameter for a direct sql query was not found. EofReached All rows on an array must have the same number of columns. The columns on an array must be between 1 and 256 The rows on an array must be between 1 and 65536 Invalid error code The folder does not contain any file of the needed type. Cannot find a Tiff Encoder. Invalid image format. Invalid parameter for html tag. Invalid parameter for rowheight or columnwidth tag. Invalid second parameter for rowheight or columnwidth tag. Invalid third parameter for rowheight or columnwidth tag. Invalid fourth parameter for rowheight or columnwidth tag. Invalid parameter for ref tag, 1 parameter version. Invalid parameter for ref tag, 2 parameter version. Invalid parameter for ref tag, 3 parameter version. Invalid parameter on Autofit settings tag. Invalid parameter on Autofit settings tag. Invalid adjustment on Autofit settings tag. Invalid Merge mode. When using Splitted tables, the detail must directly follow the master. A table cannot be assigned to 2 different splits masters. The template has User table tags, but there is no UserTable event assigned to the report. This is a virtual table, and it didn't define the methods needed to filter it. This is a virtual table, and it didn't define the methods needed to support this tag. This is a virtual table, and it didn't define the methods needed to support master detail relationships. This is a virtual table, and it didn't define the methods needed to be used as a Lookpup source. The encoding con not be used to create a MIME file. Before exporting a sheet you need to call BeginExport A preprocess tag must not be nested. If the Defined tag has 2 parameters, the second must be GLOBAL or LOCAL. Invalide parameters for delete row/col The operation needs unamanaged permissions in order to complete. A format definition in the config sheet is not valid. Error at cell n. Message that will be written in a cell when there is an error in a report and is true. Invalid parameter for include. Invalid parameter for include. Invalid value in the percent of page used in an automatic page break tag. Invalid PageScale in automatic page break tag. Invalid parameter for a ImgPos tag. Invalid parameter for a ImgFit tag. Trying to add an xls file that already exists to a Workspace collection. Aggregate must be "SUM", "AVG", "MAX" or "MIN" A filter must return a boolean value. Font was not found in the system. Font doesn't contain the character. Font is missing a character and a fallback font was used instead. Font doesn't have italic or bold variant. Font is not supported. Name cannot be empty. Name is too long. Named style doesn't exists. Style already exists. Built-in styles can't be renamed. Built-in styles can't be deleted. Style formats have to be added using SetStyle method, not with addformat. You can't replace a cell format with a style format or viceversa. ColorType is of the wrong type. Value for the color is outside bounds. Value must be one of the enum, and can't be none. String constant in formula is too long. (max 255 chars) When you set a border style different from none, then the border color must be set too. You can use a themed color to define a color inside a theme. Parameter can't be null. Parameter can't be null or empty. The name for the range already exists. Name is invalid. Enum must exist. Detail table doesn't have a parent. The sort string is not supported. The keys in a lookup can't be empty. Keys and values in a lookup must have the same number of elements. When using LINQ, FlexCel implements filters by calling a "Where(string)" method in the data table. If the table doesn't have a "Where(string)" method, FlexCel can't filter the records. The count of records in a table is different from the actual number of records when reading the data. This means that someone else has inserted or deleted records while this report was running. To avoid this issue, make sure you run the report with isolation level = SNAPSHOT. Dates in filters must be written as "yyy-dd-mm hh:mm:ss" Some custom strings. Name of a custom page size. Text that will be shown on chart legends when no data is assigned. Default text to show when AM time string is set to empty on the regional settings dialog from the control panel. When the default is empty, Excel defaults to AM, while .NET defaults to an empty string. As we want to behave the same as Excel, we provide this constant here. Default text to show when PM time string is set to empty on the regional settings dialog from the control panel. When the default is empty, Excel defaults to PM, while .NET defaults to an empty string. As we want to behave the same as Excel, we provide this constant here. FlexCel Native XLS Constants. It reads the resources from the active locale, and returns the correct string. If your language is not supported and you feel like translating the messages, please send us a copy. We will include it on the next FlexCel version. To add a new language: Copy the file flxmsg.resx to your language (for example, flxmsg.es.resx to translate to spanish) Edit the new file and change the messages(you can do this visually with visual studio) Add the .resx file to the FlexCel project Returns a string based on the FlxErr enumerator, formatted with args. This method is used to get an Exception error message. Error Code. Params for this error. Returns a string from the FlxMessage enumeration. Message code. Associated string. Throws a standard FlexCelException. Error Code. Parameters for this error. Throws a standard FlexCelException with innerException. Inner exception. Error Code. Parameters for this error. Parameter names that can go into an "invalid params" error message. ActiveSheet SheetFrom SheetDest SheetCount CellMergedIndex NamedRangeIndex ImageIndex ObjectIndex CommentIndex SourceSheet HyperLinkIndex OutlineLevel IgnoreCase AutoShapeIndex ChartIndex SeriesIndex ConditionalFormatIndex PercentOfUsedSheet Level PageScale DataValidationIndex FormatIndex NumberOfThreads Index FirstSheetVisible Arguments passed on , Creates a new Argument. See See See Font we want to process. Use this property to return the new font you want for the cell, if you need to replace it. Note that you can return more than one font here, and the format for this string is the format on a font selector "font-family" in a CSS stylesheet. You could for example return the string @"Baskerville, "Heisi Mincho W3", Symbol, serif" here. Look for a complete description of the "font-family" descriptor in the CSS reference. (http://www.w3.org/TR/REC-CSS2/) ExcelFile with the cell we are exporting. Delegate used to specify which fonts to use on a page. Use this interface to read or write Embedded drawing objects inside other object. Deletes the graphic object at objectIndex. Use it with care, there are some graphics objects you don't want to remove (like comment boxes when you don't delete the associated comment.) Index of the object (1 based). Returns information on an object and all of its children. Index of the object (1-based) When true, shape options will be retrieved. As this can be a slow operation, only specify true when you really need those options. The number of objects that are embedded inside this object. Changes the text inside an object of this object. Index of the object, between 1 and Index to the child object you want to change the text. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Text you want to use. Use null to delete text from an AutoShape.
Interface for passing font information. Internal use. Adds a new Font. Fonts in the document. Returns the font definition for a given font index. Font index. 0-based Font definition Interface for passing palette and theme information. XlsFile implements IFlexCelPalette, so you can pass any XlsFile object whenever you need to use this interface. Returns a color from the color palette. This method will throw an exception if its "index" parameter is bigger than , (for example, for an automatic color). To get the real color, use Index of the entry to return. Must be 1<=index<= Color at position index. Returns a color from the active theme palette. Only has effect in Excel 2007, and you need .NET 3.5 or newer to get a color different from the standard "office" theme.

To get the full theme, look at
Color of the theme to get. Color for the given theme.
This is an advanced method, that allows you to get the full theme in use. Normally you will just want to replace colors, and you can do this with and methods. Much of the functionality in a theme applies to PowerPoint, not Excel.
This method is only available in .NET 3.5 or newer
Returns the most similar entry on the excel palette for a given color. Color we want to use. Most similar color on the Excel palette. Returns the most similar entry on the theme palette for a given color. Color we want to use. Returns the tint to apply to the theme color. Most similar color on the theme palette. Returns true if the internal color palette contains the exact specified color. Note that Excel 2007 doesn't use the color palette, so this method is not needed there. Color to check. True if color is defined. Provides a method to customize the fonts used in the HTML methods. Method to be called each time a new font is used. Utilities for manipulating images. Returns the image type for a byte array. Array with the image. Image type Returns the image type for a byte array. Array with the image. Position on data where the image begins. Image type Access stores images encapsulated on an OLE container. This function will load an OLE image and try to return the raw image data. Image in OLE format. Image on raw format. List of internal range names. On Excel, internal range names like "Print_Area" are stored as a 1 character string. This is the list of the names and their value. You can convert an InternalNameRange into a string by casting it to a char, or by calling
See the example.
Consolidate_Area Auto_Open Auto_Close Extract Database Criteria Print_Area Print_Titles Recorder Data_Form Auto_Activate Auto_Deactivate Sheet_Title Used in AutoFilters. Interface for row heights and columns widths. XlsFile implements this interface, so you can pass an XlsFile object anytime you need to pass this interface. The default width for empty columns, in Excel internal units. (Character width of font 0 / 256) The default height for empty rows, in Excel internal units. (1/20th of a point). IMPORTANT: For this property to have any effect, you also need to set = false Returns the current Column width, in Excel internal units. (Character width of font 0 / 256) Column Index (1 based) If true, the width returned for a hidden column will be 0 and not its real width. Column width in internal excel units.(Character width of font 0 / 256) Returns Excel standard font for an empty cell. Returns the current Row height, in Excel internal units. (1/20th of a point) Row Index (1 based) If true, the height returned for a hidden row will be 0 and not its real height. Row height in internal excel units. Factor to multiply default row heights. See remarks for a detailed explanation. True if the specified row does not have any cells, nor any format on it. In short, this row has never been used. Row to test (1-based) When true, the formula text will be displayed instead of the formula value. You can also set this option with Factor to multiply default column widths. See remarks for a detailed explanation. Interface for charts that can be stacked. Stacked mode for a series. This interface is passed to methods that will process the workbook. Implement your own custom decendant to create new functions. Implement this method to do something for every value in the range.

Note: You can abort the processing (for example if there is an error) by returning false in this function, and the error value in the "error" parameter. But, Excel normally doesn't behave this way. Excel will normally first check all values to see if there is an error, and only then if no cell was a #Err! value, do other checks (for example negative parameters). So, for this to be 100% like Excel, you always need to return true in this function, and check for other errors only after all values have been processed. If you don't care about returning the exact error message Excel returns, you can return the error directly here while you are processing the values and speed up things (since other values won't be processed after you know the first error).
Value that will be processed. Return an error here when the method returns false. If the method returns true, this parameter is undefined. False if you want to abort, true to continue.
Arguments passed on Creates a new Argument. The filename of the file we need. Note: The path of this filename is relative to where the parent file is. you might need to add the main path to it in order to load the files. Use this parameter to return the ExcelFile that corresponds with . If you return null here, it means that the file was not found and it will result in #REF errors in the formulas that reference that file. Delegate for LoadLinkedFile event. Use this class to supply a password to open an encrypted file. Creates a new Argument. The password needed to open the file. Excel file we are trying to open. This event fires when opening an encrypted file and no password has been supplied. Information about characters in a numeric format that need to be adpted when rendering. For example, if the cell A1 has value 1 and format "*_0" it will print as "______1" when the cell is wide, and as "_1" when the cell is shorter. Initializes a new instance of the class Adds a char separator at a given position. Separator array will be kept in order when you add a value. Character that will be used to calculat the width of the string. Position in the final string. (0 based) Adds a separator at a given position. Separator array will be kept in order when you add a value. This routine considers utf32 characters. String with the characters. Position in the format string. (0 based) Position in the final string. (0 based) Returns the string with the characters at the positions in Separator changed by the characters specified in Separators. Returns true if this class has no adaptative formats. An array of positions and characters that must be used to pad the string. In this field you have the the "_" and "?" numeric format delimeters from Excel. The spaces at the positions in the position array should have the width of the character specified in this field. if null, there are no separators in this class. Position of the last wildcard ("*") character in the format (0 based). If a wildcard is present in the format, the string has to be expanded with the character at position until it fit the width of the cell. A negative value means there is no wildcard in the format. Options specific for an Area chart. Creates a new TAreaChartOptions instance. of the chart. True if the chart lines have shadows. If false, all series will be the same color. Z-Order of this chart group, with 0 being the bottom. Chart groups with lower z-Order are drawn below the ones with higher ones. Axis where this chart group belongs, 0 is primary, 1 is secondary. Global options that apply to all the series on this group. This instance will be copied. Plot area fill and line style for this group. Drop bars and lines information. This value will be copied. Default label properties for labels in this group. Options specific for a Line or Area chart. Creates a new TAreaLineChartOptions instance. of the chart. True if the chart lines have shadows. If false, all series will be the same color. Type of chart. Must be Area or line. Z-Order of this chart group, with 0 being the bottom. Chart groups with lower z-Order are drawn below the ones with higher ones. Axis where this chart group belongs, 0 is primary, 1 is secondary. Global options that apply to all the series on this group. This instance will be copied. Plot area fill and line style for this group. Drop Bars, lines and Hi/lo information. This value will be copied. Default label properties for labels in this group. If the chart group has drop lines, the line information. Null otherwise. True if the chart lines have shadows. of the chart. The length of an arrow head. Small. Medium. Large. Style of an arrow. No arrow. Normal arrow. Stealth arrow. Diamond-shaped arrow. Oval shaped arrow. Line arrow. (no fill) Preset width for an arrow. Small. Medium. Large. Specifies how a merged cell will be autofitted. For example, if you have a merged cell from row 1 to 4, You might want to increase the size of the first row, the second, the last, or every row a little. Merged cells with more than one row will not be autofitted when autofitting rows, and merged cells with more than one column will not be autofitted when autofitting rows. Autofit will change the size of the last row of the merged cell when autofitting rows, or the last column when autofitting columns. Autofit will change the size of the row before the last row of the merged cell when autofitting rows, or the column before the last column when autofitting columns. Autofit will change the size of 2 rows before the last row of the merged cell when autofitting rows, or 2 columns before the last column when autofitting columns. Autofit will change the size of 3 rows before the last row of the merged cell when autofitting rows, or 3 columns before the last column when autofitting columns. Autofit will change the size of 4 rows before the last row of the merged cell when autofitting rows, or 4 columns before the last column when autofitting columns. Autofit will change the size of the first row of the merged cell when autofitting rows, or the first column when autofitting columns. Autofit will change the size of the second row of the merged cell when autofitting rows, or the second column when autofitting columns. Autofit will change the size of the third row of the merged cell when autofitting rows, or the third column when autofitting columns. Autofit will change the size of the fourth row of the merged cell when autofitting rows, or the fourth column when autofitting columns. Autofit will change the size of the fifth row of the merged cell when autofitting rows, or the fifth column when autofitting columns. Autofit will change the height every row in the merged cell by the same amount. Position of the labels on the axis. This axis has no labels. Labels go at the left of the chart, or to the bottom if axis is vertical. Labels go at the right of the chart, or to the top if axis is vertical. Labels go next the axis, not to the chart. Line options for an Axis. Initializes a new instance of the class Returns a deep copy of this object. If true and the line format is none, the axis labels will not be drawn. Line options for the main axis line. Line options for the major gridlines along the axis. Line options for the minor gridlines along the axis. Line options for the walls if this axis is or or line options for the floor otherwise. Properties for the ranges of an axis. Creates a new TAxisRangeOptions instance. See See See See See Returns a deep copy of the object. Frequency at what the labels on categories are displayed. 1 means display all labels, 2 display one label and skip one, and so on. True if categories should be printed in reverse order. Frequency at what the ticks on categories are displayed. 1 means display all ticks, 2 display one tick and skip one, and so on. True if the Y axis is at the left. Specifies if the Y Axis crosses between categories or in the middle of one. Normally a Column Chart cross in the middle, and an area chart will cross between. Properties for the ticks and labels of an axis. Creates a new TAxisTickOptions instance. See See See See See See how the background of text will be rendered. Returns a deep copy of this object. Color of labels in this axis. Position of the label relative to the axis. Minor ticks type. Majot ticks type. Text Rotation on degrees. 0 - 90 is up, 91 - 180 is down, 255 is vertical. Type of axis. Category Axis. Value Axis. Series Axis. How to draw backgrounds of text. This is equivalent to transparent. Text will be drawn transpaerntly. Text will be drawn on a box. Options for a Bar or Column chart. Creates a new TBarChartOptions instance. If false, all series will be the same color. Z-Order of this chart group, with 0 being the bottom. Chart groups with lower z-Order are drawn below the ones with higher ones. Space between bars in percent of the bar width. Space between categories in percent of bar width. If true, bars are horizontal and this is a bar chart. If false, bars are vertical and this is a column chart. of the chart. True if the bars have shadows. Axis where this chart group belongs, 0 is primary, 1 is secondary. Global options that apply to all the series on this group. This instance will be copied. Plot area fill and line style for this group. Default label properties for labels in this group. See Space between bars in percent of the bar width. Space between categories in percent of bar width. True if the bars have shadows. If true, bars are horizontal and this is a bar chart. If false, bars are vertical and this is a column chart. Line style for the Lines between Series if they exist, null otherwise. of the chart. Common ancestor for all Axis types. Creates a new TBAseAxis instance. See See See See See See Linestyles for the different lines of this axis. Axis Caption. Font used on this axis. Format for the numbers on this axis. Options for the range of this axis. Options for the ticks and the font used on the labels. Image information, for headers and footers, normal images or objects in general. Initializes a new instance of the class If true, the image will display in 2 color black and white. Brightness of the image. is the default Brightness. Contrast of the image. is the default Contrast. Cropping coordinates for the Image. If true, the application is expected to choose the default size of the object. This property returns true if the shape by default locks its aspect ratio. Images do it, comments don't. You will normally not need to use this value. If true, the object is disabled. Returns true if both instances of the objects contain the same values. Instances might be different, this method will return if their values are equal. Instances can be null. First instance to compare. Second instance to compare. This variable must be set by the class inheriting this one. FileName of the image. It sets/gets the original filename of the image before it was inserted. (For example: c:\image.jpg) It is not necessary to set this field, and when the image is not inserted from a file but pasted, Excel does not set it either. Gamma of the image. is the default Gamma. Image should be displayed in grayscale. True if this image can't be selected when the sheet is protected. Specifies whether the aspect ratio of a shape is locked from being edited. Macro attached to the image. Specifies whether the original size of an object is saved after reformatting. If true, the original size of the object is stored and all resizing is based on a percentage of that original size. Otherwise, each resizing resets the scale to 100%. If false, the image won't be printed. Determines if the image should be published when sent to a server. This only applies to charts. Transparent Color. (~0L) means no transparent color. Picture and properties used in a Blip fill. Creates a new Blip. Compression state. Picture Data. This data will be copied in this object, so after using it, you can modify the original and this won't change. File name which will be used when saving the file inside the xlsx container. Content type for the image, like "image/jpeg". Returns -1 if obj is bigger than this, 0 if both objects are the same, and 1 if obj is smaller than this. Specifies the compression state with which the picture is stored. This allows the application to specify the amount of compression that has been applied to a picture. Content type for the image, like "image/jpeg". Returns true if this instance has the same data as the object obj. Returns the hashcode for this object File name which will be used when saving the file inside the xlsx container. Image data. This type specifies the amount of compression that has been used for a particular picture. No compression used. Compressed for email. Compressed for screen viewing. Compressed for printing. Compressed for high quality printing. Shapes are filled with an image. Picture and properties used in the Blip fill. Returns -1 if obj is bigger than this, 0 if both objects are the same, and 1 if obj is smaller than this. Specifies the DPI (dots per inch) used to calculate the size of the blip. If not present or zero, the DPI in the blip is used. Returns true if this instance has the same data as the object obj. Specifies how the blip will be applied to the fill, either by stretching it to cover all the surface, of by tiling it. Returns the hashcode for this object Specifies that the fill should rotate with the shape. This element specifies the portion of the blip used for the fill. Each edge of the source rectangle is defined by a percentage offset from the corresponding edge of the bounding box. A positive percentage specifies an inset, while a negative percentage specifies an outset. For example, a left offset of 25% specifies that the left edge of the source rectangle is located to the right of the bounding box's left edge by an amount equal to 25% of the bounding box's width. This class is sed to store tiling or stretching fill mode information. You need to use any of its descendants, or Initializes a new instance of the class Returns -1 if obj is bigger than this, 0 if both objects are the same, and 1 if obj is smaller than this. This element specifies that a BLIP should be stretched to fill the target rectangle. The other option is a tile where a BLIP is tiled to fill the available area. Creates a new TBlipFillStretch object. Returns -1 if obj is bigger than this, 0 if both objects are the same, and 1 if obj is smaller than this. Returns true if this instance has the same data as the object obj. Rectangle where the picture will be streched. Returns the hashcode for this object This element specifies that a BLIP should be tiled to fill the available space. This element defines a "tile" rectangle within the bounding box. The image is encompassed within the tile rectangle, and the tile rectangle is tiled across the bounding box to fill the entire area. Creates a new Blip fill tile instance. Specifies where to align the first tile with respect to the shape. Alignment happens after the scaling, but before the additional offset. Returns -1 if obj is bigger than this, 0 if both objects are the same, and 1 if obj is smaller than this. Returns true if this instance has the same data as the object obj. Specifies the direction(s) in which to flip the source image while tiling. Images can be flipped horizontally, vertically, or in both directions to fill the entire region. Returns the hashcode for this object Indicates the amount ot horizontally scale the source rectangle. Indicates the amount ot vertically scale the source rectangle. Specifies an extra horizontal offest after alignment. Specifies an extra vertical offest after alignment. What the bubble size means. Not used. Bubble size represents the area. Bubble size represents the width. Enumerator with all built-in styles in Excel. Normal style, used in all non formatted cells. Style used in row outlines. Style used in column outlines. Built-in Style. Built-in Style. Built-in Style. Built-in Style. Built-in Style. Built-in Style. Built-in Style. Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Standard style (not actually built in). Information about an Axis of categories. (normally the x axis) Constructs a new TCategoryAxisOption instance with all values set to automatic. Constructs a new TCategoryAxisOptions instance. See See See See See See See See See See See See . This parameter will be cloned. See This parameter will be cloned. See This parameter will be cloned. See This parameter will be cloned. Enumerates which of the other options contain valid values or are automatic. Base units for the axis, when not set to automatic in . Value where the other Axis will cross this one, when not set to automatic in . Units for the major unit, when not set to automatic in . Value for the major unit, when not set to automatic in . Maximum value for the axis, when not set to automatic in . Minimum value for the axis, when not set to automatic in . Units for the minor unit, when not set to automatic in . Value for the minor unit, when not set to automatic in . Options for a Category Axis. All magnitudes will be manual. Use automatic minimum. Use automatic maximum. Use automatic major units. Use automatic minor units. This is a date Axis. Use automatic base unit. Use automatic date crossing point. Use automatic date settings. Small class that can convert between a string reference ("A1") into row and col integers (1,1). Creates Cell Address pointing to A1. Creates Cell Address pointing to (aRow, aCol). Row index of the reference (1-based). Column index of the reference (1-based). Creates Cell Address pointing to (aRow, aCol) with the corresponding absolute values. Row index of the reference (1-based). Column index of the reference (1-based). If true row will be an absolute reference. (As in A$5). If true col will be an absolute reference. (As in $A5). Creates a Cell Address pointing to (aCellRef). String containing the cell address in Excel notation (for example "A5"). Absolute references ($A$5) work too. Creates Cell Address pointing to (aRow, aCol) with the corresponding absolute values. Sheet name of the reference. Row index of the reference (1-based). Column index of the reference (1-based). If true row will be an absolute reference. (As in A$5). If true col will be an absolute reference. (As in $A5). Cell address in Excel A1 notation. (For example "A5"). Absolute references ($A$5) will work too. Returns a deep copy of the cell address. Column index for this reference (1-based). True if the column is an absolute reference (as in $A5) Returns "A" for column 1, "B" for 2 and so on. Index of the column, 1 based. Returns true if both objects have the same data. Returns the hashcode of this object. Quotes a sheet name if it is needed. For example, Sheet 1 should be quoted as 'Sheet 1' Sheet to quote Quoted sheet. Row index for this reference (1-based). True if the row is an absolute reference (as in A$5) Sheet name of the reference. Tries to set a cell reference, and returns true if the cell is a correct A1 reference. This is similar to setting to a string, but it will not raise an exception. String with the cell reference, in A1 format. To use R1C1 notation, see True if value was a correct cell reference, false otherwise. Tries to set a cell reference, and returns true if the cell is a correct A1 or R1C1 reference. String with the cell reference, in A1 or R1C1 format. Style the reference is in (A1 or R1C1). Row where the cell is. This is only used for R1C1 relative references, to know where the cell is. For example, the reference R[1]C[1] when cellRow is 5 will reference row 6. A1 references or absolute R1C1 references ignore this parameter. Column where the cell is. This is only used for R1C1 relative references, to know where the cell is. For example, the reference R[1]C[1] when cellCol is 5 will reference column 6. A1 references or absolute R1C1 references ignore this parameter. True if value was a correct cell reference, false otherwise. A class with 2 TCellAddress objects marling the start and end of a cell range. Creates a new instance. Addresses can't be null. The cell at the bottom right position in the range. It can't be null. Returns true if both objects have the same data. HashCode for the object The cell at the top left position in the range. It can't be null. Values we can write on a cell Double precision number. Not a real type (it is a number). An unicode string. Might be formatted. Boolean. Error code Blank cell. A formula. The .NET type does not map to any Excel type. (for example a class) A simple structure containing a position and a character. Character that should go at position. Note that if this is a surrogate pair (UTF32) the string might have 2 UTF16 characters. True if both structs are the same. Object to check. Returns the hashcode for the object. Compares two structures. Compares two structures. Position of the character in the string (0 based). A class encapsulating the information of an axis Creates a new ChartAxis instance. Axis Index. 0 means primary, 1 secundary. Location of the axis, in 1/4000 units of the current chart dimensions. Data of the Category Axis. This might be a CategoryAxis for line or bar charts, or a ValuesAxis for a Scatter Chart. Data of the value Axis. Returns the Axis coordinates on 1/4000 parts of the chart area. Returns information about the Category Axis (X-Axis on a non rtated chart). Note that this might be a axis for scatter charts, or a for line or bar charts. Axis Index. 0 means primary, 1 secundary. Returns information about the Value Axis (Y-Axis on a non rotated chart). Information about a Drop Bar. Creates a new TChartDropBars instance. See See See See Returns a deep copy of this object. The data for the down drop bar. Line style for the drop lines if they exist, null otherwise. Lie srtyle for the High-Low lines if they exist, null otherwise. The data for the up drop bar. Description of a box, its coordinates, fill style and line style. Creates a new TChartFrameOptions instance. See See See Returns a deep copy of this object. Extra options used to specify gradients, textures, etc. If this is no null, the color values are not used. Fill options for the frame. Line options for the frame. Defines the position of a label in the chart when it is manually positioned. Creates a new TChartLabelPosition class. See See See See See See This value specifies how the bottom right coordinates (X2, Y2) are stored and what they mean. Returns a deep clone of this object. This value specifies how the top left coordinates (X1, Y1) are stored and what they mean. Left coordinate. The meaning of this property depends in Right coordinate. The meaning of this property depends in Top coordinate. The meaning of this property depends in Bottom coordinate. The meaning of this property depends in How coordinates are stored for a label when it is manually positioned. Relative position to the chart, in points. Absolute width and height in points; can only be applied to the mdBotRt field of Pos Owner of Pos determines how to interpret the position data. Offset to default position, in 1/1000 th of the plot area size. Relative position to the chart, in SPRC. Description of the chart's legend box. Creates a new TChartLegend instance. See See See See See See See Returns a deep copy of this object. Line and fill style options for the frame. Height of the bounding box, on 1/4000 units of chart size. Placement of the legend inside of the chart. Global font options for the legend labels. Width of the bounding box, on 1/4000 units of chart size. X coordinate on 1/4000 units of chart area. Y coordinate on 1/4000 units of chart area. Position of hte legend inside the chart. At bottom. At the corner. At the top. At the right. At the left. The legend is not docked inside the chart area. Line styles for a chart object. Sloid line. Dashed line. Dotted line. Dash-dot line. Dash dot dot line. No line. Dark gray line. Medium gray line. Light gray line. Different widths for chart lines. Minimum width. Single width. Double width. Triple width. Kind of marker. No marker. Square. Diamond. Up triangle. X sign. Star. Dow jones symbol. (small horizontal line) Standard deviation symbol. (big horizontal line) Circle. Plus sign. Information about one specific drop bar. Creates a new instance. See See Returns a deep copy of this object. Properties for the drop bar. Gap width on percent.(0 to 100) Base class for options specific to the type of chart. Creates a new TChartOptions instance. Type of the chart. Axis where this chart group belongs, 0 is primary, 1 is secondary. If false, all series will be the same color. Z-Order of this chart group, with 0 being the bottom. Chart groups with lower z-Order are drawn below the ones with higher ones. Global options that apply to all the series on this group. This instance will be copied. Plot area line style and fill settings. This value will be copied. Default label properties for labels on this series group. Axis where this chart group belongs, 0 is primary, 1 is secondary. If false, all series will be the same color. Chart Type. Orders the chart options depending on their z-order. Object to compare to. -1, 0 or 1 depending if the series has a bigger z-order than obj. Default label properties for this group of charts. Returns true if both objects are equal. Returns a hashcode for the object. Returns true if both objects are equal. Note this is for backwards compatibility, this is a class and not immutable, so this method should return true if references are different. But that would break old code. Returns true if o1 is bigger than o2. Returns true if both objects do not have the same value. Note this is for backwards compatibility, this is a class and not immutable, so this method should return true if references are different. But that would break old code. Returns true if o1 is less than o2. Plot area for this chart group. Global options for all the series on this chart group. Z-Order of this chart group, with 0 being the bottom. Chart groups with lower z-Order are drawn below the ones with higher ones. Fill style used in a pattern inside chart elements. Transparent pattern. Pattern defined by the context. Line and fill styles for the Plot Area. Creates a new PlotArea instance. See Line and fill style for this PlotArea. Returns a deep copy of this object. Options for text inside the chart. Initializes a new instance of the class Background mode, transparent or opaque. Returns a deep copy of the object. Font style for the text. Horizontal alginment for the text. Hieght of the bounding box, on 1/4000 units of chart size. Position of the label. If this value is null, then X and Y properties in this class are used instead. If this value is not null, then X and Y have no meaning. Text Rotation on degrees. 0 - 90 is up, 91 - 180 is down, 255 is vertical. Color of the text. Vertical alignment for the text. Width of the bounding box, on 1/4000 units of chart size. X coordinate on 1/4000 units of chart area. Y coordinate on 1/4000 units of chart area. Chart style. FlexCel cannot determine the chart type. Area chart. Bar chart. Line chart. Pie chart. Radar chart. Scatter chart. Surface chart. Possible values of a checkbox in a sheet. Checkbox is not checked. Checkbox is checked. Checkbox is not set. An indeterminate control generally has a shaded appearance. A class to hold the offsets relative to the parent on grouped shapes. Creates a new empty instance. Creates an instance with the defined values. Returns a deep copy of the Anchor. Offset from the left on the parent, on percent of the total width of the parent. Right coordinate of the box, in percent of the total width of the parent. Offset from the top on the parent, on percent of the total height of the parent. Bottom coordinate of the box, in percent of the total height of the parent. Returns true if both objects have the same data. Returns true if both instances of the objects contain the same values. Instances might be different, this method will return if their values are equal. Instances can be null. First instance to compare. Second instance to compare. Returns the hashcode for the object. Image Anchor information. Creates an Empty ClientAnchor. Creates a new image based on the image size. How the image behaves when copying/inserting cells. Row where to insert the image. Column where to insert the image. Delta in pixels that the image is moved from aRow1. Delta in pixels that the image is moved from aCol1. Height in pixels. Width in pixels. ExcelFile with the workbook, used to calculate the cells. Creates a new ClientAnchor object, based on cell coords. Does not take in count actual image size. How the image behaves when copying/inserting cells. First column of object Delta x of image, on 1/1024 of a cell. 0 means totally at the left, 512 on half of the cell, 1024 means at the left of next cell. First Row of object. Delta y of image on 1/255 of a cell. 0 means totally at the top, 128 on half of the cell, 255 means at the top of next cell. Last column of object. Delta x of image, on 1/1024 of a cell. 0 means totally at the left, 512 on half of the cell, 1024 means at the left of next cell. Last row of object. Delta y of image on 1/255 of a cell. 0 means totally at the top, 128 on half of the cell, 255 means at the top of next cell. Creates a new image based on the image size. How the image behaves when copying/inserting cells. Row where to insert the image. Column where to insert the image. Delta in pixels that the image is moved from aRow1. Delta in pixels that the image is moved from aCol1. Row where to insert the image. Column where to insert the image. Delta in pixels that the image is moved from aRow1. Delta in pixels that the image is moved from aCol1. ExcelFile with the workbook, used to calculate the cells. Creates a new ClientAnchor object, based on cell coords. Ignores actual image size. How the image behaves when copying/inserting cells. First column of object. Delta x of image, on 1/1024 of a cell. 0 means totally at the left, 512 on half of the cell, 1024 means at the left of next cell. First Row of object. Delta y of image on 1/255 of a cell. 0 means totally at the top, 128 on half of the cell, 255 means at the top of next cell. Last column of object. Delta x of image, on 1/1024 of a cell. 0 means totally at the left, 512 on half of the cell, 1024 means at the left of next cell. Last row of object. Delta y of image on 1/255 of a cell. 0 means totally at the top, 128 on half of the cell, 255 means at the top of next cell. If true, the object is inside a chart and rows and columns range from 0 to 4000. How the image behaves when copying/inserting cells. Calculates the width and height of the image in pixels. MAKE SURE THE ACTIVESHEET IN WORKBOOK IS THE CORRECT ONE. Will return the height of the object. Will return the width of the object. Workbook used to know the column widths and row heights. Calculates the width and height of the image in Points. Will return the height of the object. Will return the width of the object. Workbook used to know the column widths and row heights. If true, this object is inside a chart, and columns and rows range from 0 to 4000. Returns the offset on the parent system for the image, when it is grouped. For example, if the parent shape on the group is 100 px wide, and ChildAnchor has a dx of 0.5, the image starts 50px to the right of the parent. If the shape is not grouped or it is the shape on top of the group, ChildAnchor is null. When this member is not null, other values on ClientAnchor have no meaning. Creates a copy of the Anchor Anchor copy. First column of object Last column of object. Returns true if the target anchor is inside or equal to this one. Anchor to test. Returns a COPY of the anchor with rows and cols decremented by one Delta x of image, on 1/1024 of a cell. 0 means totally at the left, 512 on half of the cell, 1024 means at the left of next cell. Returns the offset of the object in pixels from the left of the cell. ExcelFile where this object is placed Offset in pixels. Returns the offset of the object in points from the left of the cell. This is used for display, and is not the exact conversion from Dx1Pix. ExcelFile where this object is placed Offset in points (1/72 of an inch). Delta x of image, on 1/1024 of a cell. 0 means totally at the left, 512 on half of the cell, 1024 means at the left of next cell. Returns the offset of the object in pixels from the left of the cell. ExcelFile where this object is placed Offset in pixels. Returns the offset of the object in points from the left of the cell. ExcelFile where this object is placed Offset in points (1/72 of an inch). Delta y of image on 1/255 of a cell. 0 means totally at the top, 128 on half of the cell, 255 means at the top of next cell. Returns the offset of the object in pixels from the top of the cell. ExcelFile where this object is placed Offset in pixels. Returns the offset of the object in points from the top of the cell. ExcelFile where this object is placed Offset in points (1/72 of an inch). Delta y of image on 1/255 of a cell. 0 means totally at the top, 128 on half of the cell, 255 means at the top of next cell. Returns the offset of the object in pixels from the top of the cell. ExcelFile where this object is placed Offset in pixels. Returns the offset of the object in points from the top of the cell. ExcelFile where this object is placed Offset in points (1/72 of an inch). Returns true if both objects have the same data. Returns true if both instances of the objects contain the same values. Instances might be different, this method will return if their values are equal. Instances can be null. This method is equivalent to TClientAnchor.Equals(a,b), and kept for backwards compatibility. First instance to compare. Second instance to compare. Returns the hash code for the object. Returns a COPY of the anchor with rows and cols incremented by one First Row of object. Last row of object. Determines how the children of the node of an outline will be when the node is collapsed or expanded. Children nodes will be kept in the state they already were. If they were collapsed they will still be collapsed after collpasing or expanding the parent. Same if they were expanded. All children nodes of collapsed parents will be collapsed, and will show collapsed when you expand the parent. All children nodes of collapsed parents will be expanded, and will show expanded when you expand the parent. Specifies a color transformation to be applied to a color. Creates a new TColorTransform with the corresponding parameters. Type of transformation to be applied. Value of the transform. The meaning of this field depends in the value. Type of transformation to be applied. Returns true if both color transforms are the same. Hashcode for the color transform. Returns true if both color transforms have the same value. First color transform to compare. Second color transform to compare. Returns true if both color transforms do not have the same value. First color transform to compare. Second color transform to compare. Applies the transform for a given color. Color to transform. Transformed color. Value of the transform. The meaning of this field depends in the value. List of transformations that can be done to a color. Yields a lighter version of its input color. A 10% tint is 10% of the input color combined with 90% white. Yields a darker version of its input color. A 10% shade is 10% of the input color combined with 90% black. Yields the complement of its input color. For example, the complement of red is green. Yields the inverse of its input color. For example, the inverse of red (1,0,0) is cyan (0,1,1). Yields a grayscale of its input color, taking into relative intensities of the red, green, and blue primaries. Yields its input color with the specified opacity, but with its color unchanged. Yields a more or less opaque version of its input color. An alpha offset never increases the alpha beyond 100% or decreases below 0%; i.e., the result of the transform pins the alpha to the range of [0%,100%]. A 10% alpha offset increases a 50% opacity to 60%. A -10% alpha offset decreases a 50% opacity to 40%. Yields a more or less opaque version of its input color. An alpha modulate never increases the alpha beyond 100%. A 200% alpha modulate makes a input color twice as opaque as before. A 50% alpha modulate makes a input color half as opaque as before. Yields the input color with the specified hue, but with its saturation and luminance unchanged. Yields the input color with its hue shifted, but with its saturation and luminance unchanged. Yields the input color with its hue modulated by the given percentage. Yields the input color with the specified saturation, but with its hue and luminance unchanged. Typically saturation values fall in the range [0%, 100%]. Yields the input color with its saturation shifted, but with its hue and luminance unchanged. Yields the input color with its saturation modulated by the given percentage. A 50% saturation modulate reduces the saturation by half. A 200% saturation modulate doubles the saturation. Yields the input color with the specified luminance, but with its hue and saturation unchanged. Typically, luminance values fall in the range [0%,100%]. Yields the input color with its luminance shifted, but with its hue and saturation unchanged. Yields the input color with its luminance modulated by the given percentage. A 50% luminance modulate reduces the luminance by half. A 200% luminance modulate doubles the luminance. Yields the input color with the specified red component, but with its green and blue components unchanged. Yields the input color with its red component shifted, but with its green and blue components unchanged. Yields the input color with its red component modulated by the given percentage. A 50% red modulate reduces the red component by half. A 200% red modulate doubles the red component. Yields the input color with the specified green component, but with its red and blue components unchanged. Yields the input color with its green component shifted, but with its red and blue components unchanged. Yields the input color with its green component modulated by the given percentage. A 50% green modulate reduces the green component by half. A 200% green modulate doubles the green component. Yields the input color with the specified blue component, but with its red and green components unchanged. Yields the input color with its blue component shifted, but with its red and green components unchanged. Yields the input color with its blue component modulated by the given percentage. A 50% blue modulate reduces the blue component by half. A 200% blue modulate doubles the blue component. Yields the sRGB gamma shift of its input color. Yields the inverse sRGB gamma shift of its input color. Defines which one of the values stored in a structure is the one that must be used. Color is Automatic. The structure contains an indexed color. The structure contains a themed color. The structure contains an indexed color. Holds the properties for a comment. This class is a descendant of , and it adds specific behavior for a comment. Creates a new empty TCommentProperties instance. This method will create a new copy of aAnchor, so you can modify it later. Anchor. It will be copied here. This method will create a new copy of aAnchor, so you can modify it later. Anchor. It will be copied here. Shape name for the comment box, as it will appear on the names combo box. This method will create a new copy of aAnchor, so you can modify it later. Anchor. It will be copied here. Name of the shape, as it appears on the names combobox. Set it to null to not add an imagename. Propertied of the text in the comment. Specifies if the comment is locked. If true, the comment box will autosize to hold the text. If true, the comment box will adapt its size to the size of the text. Default color used in the comments. Default color used in the comments, as a system color. Default color used in the comments, as a system color. If true, the comment box will be hidden (this is the default). Properties of the text in the object. Type of line. A single line with normal width. A double line, both with normal width. A double line, first think and the other thin. A double line, first think and the other thick. A triple line, Thin, thick and thin. A conditional format rule specified by the value on a cell (less than, equal, etc). Creates a new instace of TConditionalFormulaRule. See See See See See Returns a deep copy of the object. Condition to apply for the rule. Returns true if this object is equal to obj. The first formula to be evaluated. When the condition needs only one parameter (for example when condition is "Equal") this is the only formula that is used.
Note that with relative references, we always consider "A1" to be the cell where the format is. This means that the formula: "=$A$1 + A1" when evaluated in Cell B8, will read "=$A$1 + B8". To provide a negative offset, you need to wrap the formula. For example "=A1048575" will evaluate to B7 when evaluated in B8.
The second formula to be evaluated. Note that this formula is only used if the condition needs more than one parameter (for example when condition is "Between"). If using a condition with only one parameter, you can leave this formula to null.
Note that with relative references, we always consider "A1" to be the cell where the format is. This means that the formula: "=$A$1 + A1" when evaluated in Cell B8, will read "=$A$1 + B8". To provide a negative offset, you need to wrap the formula. For example "=A1048575" will evaluate to B7 when evaluated in B8.
Returns the hashcode for this object. The format to apply when a is applied. Initializes a new instance of the class Returns a deep copy of this object. A deep copy o a TConditionalFormatDef instance. Defines a format to apply for cells when a rule evaluates to true. Creates an empty instance, where no format applies. If true, the settings will be applied, esle they will be ignored. If true, the settings will be applied, esle they will be ignored. If true, the settings will be applied, esle they will be ignored. If true, the settings will be applied, esle they will be ignored. When true the font color specified in will be applied, else it will be ignored. When true the font size specified in will be applied, else it will be ignored. When true, the font style on for bold an italics will be applied. When false, it will be ignored. When true, the font style on for strikeout will be applied. When false, it will be ignored. When true, the font style on for subscripts and superscripts will be applied. When false, it will be ignored. When true the font underline specified in will be applied, else it will be ignored. When true the background color specified in will be used, else it will be ignored. When true the foreground color specified in will be used, else it will be ignored. When true the pattern style specified in will be applied, else it will be ignored. Color and style for the cell border. Color and style for the cell border. Color and style for the cell border. Color and style for the cell border. Returns a deep copy of the object. Returns true if this object is equal to obj. Font color index on the color palette when is true. Font size in 1/20 of a point when is true. Style of the font, such as bold or italics when is true and/or is true and/or is true. Underline is a different option. Underline type, when = true. Returns the hashcode for this object. Returns true if any border formatting is applied. Returns true if any font formatting is applied Returns true if any format is applied. Returns true if any pattern formatting is applied. Background color of the pattern. This value is *NOT* used when is solid. Only applies if is true. Foreground color of the pattern. This value is the only color used when is solid. Only applies if is true. Pattern style to apply, when is true. A rule specifying a conditional format. You cannot create instances of this class, only of their children. Creates a new instance of TConditionalFormatRule, with the corrsponding Format definition. Format definition for the rule. Only valid on Excel 2007. If true, no more conditional format rules after this one will be applied if this rule applies. Returns a deep copy of the object. Returns true if this object is equal to obj. Format to apply when the rule evaluates to true. Returns the hashcode for this object. When true, rules after this one will not evaluate if this one applies. Only Applies to Excel 2007 A conditional format rule specified by a formula. Creates a new instace of TConditionalFormulaRule. See See See Returns a deep copy of the object. Returns true if this object is equal to obj. The formula to be evaluated. The conditional format will be applied when it evaluates to true.
Note that with relative references, we always consider "A1" to be the cell where the format is. This means that the formula: "=$A$1 + A1" when evaluated in Cell B8, will read "=$A$1 + B8". To provide a negative offset, you need to wrap the formula. For example "=A1048575" will evaluate to B7 when evaluated in B8.
Returns the hashcode for this object. A list of conditional operators that you can apply in a Conditional format. Always evaluates to false. Value between Formula1 and Formula2. Value not between Formula1 and Formula2. Value equal to Formula1. Value not equal to Formula1. Value Greater than Formula1. Less than Formula1. Greater of Equal to Formula1. Less of Equal to Formula1. Defines how a part of a MIME message will be coded. Use the Quoted Printable algorithm (RFC 2045 section 6.7). You will normally use this encoding for text. When using this option, you need to write the part content using or a similar method. Use base64 algorithm (RFC 2045 section 6.7). You would normally use this encoding for binary files. When using this option, you need to write the part content using or a similar method. Defines a cropping area for an image. If the values are not zero, only a part of the image will display on Excel. Creates a new crop area with no crop. Creates a new crop area with the indicated coordinates. Returns a deep copy of this object A deep copy of this object. How much to crop the image, in fractions of 65536 of the total image height. How much to crop the image, in fractions of 65536 of the total image width. How much to crop the image, in fractions of 65536 of the total image width. How much to crop the image, in fractions of 65536 of the total image height. Returns true if both instances of the objects contain the same values. Instances might be different, this method will return if their values are equal. Instances can be null. First instance to compare. Second instance to compare. Returns true if all the coordinates are 0. True if all the coordinates are 0. Represents one data label on the chart. Initializes a new instance of the class Returns a deep copy of the object. Point index of of the point this label displays. This value only has meaning if is TLinkOptions.DataLabel and the label is for only one point. When the label is for the whole series, DataPointIndex is -1. Background for the label, if there is one. Null otherwise. The formula defining the values on this label. You can access the actual values of the labels with . Data options for the label. A list with the actual values for the label, evaluated from the formula at IMPORTANT NOTE: The values here only are valid if indicates a manual DataType. Defines to which object this label is linked. Numeric format for this label. Series number for the series this label displays. This value only has meaning if is TLinkOptions.DataLabel Formatting options for this label. Options for a data label. Initializes a new instance of the class True if this label will use automatic coloring, false if the color is user defined. Returns a deep copy of the object. Defines which information this label displays. If true, this label has been manually deleted by the user and should not be displayed. Where the label is placed. The separator that will be used to separate labels when they contain more than one value. (For example, if the labes contains both the value and the category, they will be separated by this string). If true and this label is SeriesInfo, this label will display the percentage bubble size. This value only applies to BUBBLE charts. If true and this label is SeriesInfo, this label will display the Categories. If true, the legend key will be shown along with the label. If true and this label is SeriesInfo, this label will display the percentage of the total data. This value only applies to PIE charts. If true and this label is SeriesInfo, this label will display the Series name. If true and this label is SeriesInfo, this label will display the actual value of the data. Defines where a label is displayed on a chart. Label is placed on the default position. This is AutoPie for Pie charts, Right for Line Charts, Outside for BarCharts and Center for Stacked Bar charts. Label is outside the data. Applies to Bar, pie charts. Label is inside the data. Applies to Bar, pie charts. Label is centered on the data. Applies to Bar, line, pie charts. Label is placed on the Axis. Applies to Bar charts. Label is placed Above the data. Applies to Line charts. Label is placed Below the data. Applies to Line charts. Label is placed Left of the data. Applies to Line charts. Label is placed Right of the data. Applies to Line charts. Label is placed automatically on the chart. This applies to Pie charts, and it is equivalent to TDataLabelPosition.Automatic. Label has been manually moved and it is placed at an arbitrary place. Defines the condition used in the data validation box. Value must be bewtween and . Value must be not bewtween and . Value must be equal to . Value must be different from . Value must be greater than . Value must be less than . Possible types of data validation. All values are allowed. The value must be an integer. The value must be a decimal. The value must be in the list. The value must be a Date. The value must be a Time. The value will be validated depending on the text lenght. The value will be validated depending on the results of a formula. Icon to be displayed in the error box of a data validation action. Note that this not only affects the icon used, but the possible values. An information icon will allow you to enter an invalid value in a cell, a stop icon will not. Stop icon. ( a red circle with a cross). When selected, invalid values cannot be entered into the cell. Warning icon. ( a yellow triangle with an exclamation sign). When selected and there is an invalid entry, you get an error dialog allowing to cancel the operation, enter the invalid value anyway or re edit the cell. Information icon. (a text ballon with an "i" inside). When selected and there is an invalid entry, a waning will be shown but the invalid data can be entered anyway. The IME (input method editor) mode enforced by a data validation. IME Mode Not Controlled.
Data validation does not control the IME control's mode.
IME Off.
Forces the IME control to be off when first selecting the cell (goes to direct cell input mode).
IME On.
Forces the IME control to be on when first selecting the cell.
IME mode is disabled.
Forces the IME control to be disabled when this cell is selected.
Hiragana IME Mode.
Forces the IME control to be on and in Hiragana input mode when first selecting the cell. Applies when the application's language is Japanese and a Japanese IME control is selected
Full Katakana IME Mode.
Forces the IME control to be on and in full-width Katakana input mode when first selecting the cell. Applies when the application's language is Japanese and a Japanese IME control is selected.
Half-Width Katakana.
Forces the IME control to be on and in half-width Katakana input mode when first selecting the cell. Applies when the application's language is Japanese and a Japanese IME control is selected.
Full-Width Alpha-Numeric IME Mode.
Forces the IME control to be on and in full-width alpha-numeric input mode when the cell is first selected.
Half Alpha IME.
Forces the IME control to be on and in half-width alpha-numeric input mode when the cell is first selected.
Full Width Hangul.
Forces the IME control to be on and in full-width Hangul input mode when first selecting the cell. Applies when the application's language is Korean and a Korean IME control is selected.
Half-Width Hangul IME Mode.
Forces the IME control to be on and in half-width Hangul input mode when first selecting the cell. Applies when the application's language is Korean and a Korean IME control is selected.
Contains the information to define a data validation in a range of cells. Empty constructor. Creates a new instance of TDataValidationInfo without assigning any value. Creates a new Data Validation condition with all parameters. See See See See See See See See See See See See See Compares the object with other. -1 is o2 is less than this, 0 if they are equal and 1 if o2 is bigger. Condition used to apply the data validation. Returns true if both objects are equal. Caption of the Error Alert box. Note that this text cannot be longer than 32 characters. Extra caracters will be truncated. If this parameter is null, the default Error alert will be displayed. If is false, this parameter does nothing. Text on the Error Alert box. Note that this text cannot be longer than 225 characters. Extra characters will be truncated. If this parameter is null, the default Error alert will be displayed. If is false, this parameter does nothing. Icon to display in the error box. If true, contains a list of values. In this case, Formula1 must be a formula of the type: ="string", where string is a list of values separated by Character(0). For example, in C# Formula1 could be: ="Apples\0Lemmons\0Melons In Delphi.NET, Formula1 could be: '="Apples' + #0 + 'Lemmons' + #0 + 'Melons' Formula for the first condition of the data validation. The text of the formula is limited to 255 characters. If is true, this formula can contain a list of values.
Note that with relative references, we always consider "A1" to be the cell where the data validation is. This means that the formula: "=$A$1 + A1" when evaluated in Cell B8, will read "=$A$1 + B8". To provide a negative offset, you need to wrap the formula. For example "=A1048575" will evaluate to B7 when evaluated in B8.
Returns a hashcode for the object. If true Empty cells will not trigger data validation errors. The IME (input method editor) mode enforced by this data validation. When the parameter is a list, this property indicates whether to display a drop down box or not. Caption of the Input Message box. Note that this text cannot be longer than 32 characters. Extra caracters will be truncated. If this parameter is null, the Input box will display the default message. if is false, this parameter does nothing. Text on the Input Message box. Note that this text cannot be longer than 255 characters. Extra characters will be truncated. If this parameter is null, the Input box will display the default message. if is false, this parameter does nothing. Returns true if both objects are equal. Note this is for backwards compatibility, this is a class and not immutable, so this method should return true if references are different. But that would break old code. Returns true if o1 is bigger than o2. Returns true if both objects are not equal. Note this is for backwards compatibility, this is a class and not immutable, so this method should return true if references are different. But that would break old code. Returns true if o1 is less than o2. Formula for the second condition of the data validation, if it has two conditions. The text of the formula is limited to 255 characters.
Note that with relative references, we always consider "A1" to be the cell where the data validation is. This means that the formula: "=$A$1 + A1" when evaluated in Cell B8, will read "=$A$1 + B8". To provide a negative offset, you need to wrap the formula. For example "=A1048575" will evaluate to B7 when evaluated in B8.
If true, an error box dialog will be shown when the user enters an invalid value. If true, a box showing a message will be shown when the user selecte the cell. Type of validation we will be doing. Properties for an Excel sheet. Returns a standard document property (Like Author, Title, etc.). This method returns an object that might be: null: If the property is not assigned.Int16, Int32, Int64, Single, Double, Decimal: If the property is a number.DateTime: If the property is a Date or a DateTime.String: If the property is a string.Boolean: If the property is a boolean.An array of byte (byte[]): If the property is a Blob.An array of object (object[]): If the property is an array. Each one of the members of the array must be of one of the types specified here. Specifies the alignment types for text in a drawing. Align text to the left margin. Align text in the center. Align text to the right margin. Align text so that it is justified across the whole line. It is smart in the sense that it does not justify sentences which are short. Aligns the text with an adjusted kashida length for Arabic text. Distributes the text words across an entire text line. Distributes Thai text specially, because each character is treated as a word. Represents a Color for a drawing or a theme. Different from TExcelColor, this structure is defined in terms of DrawingML, not SpreadsheetML. Returns the DrawingColor that results of applying the transform to the existing DrawingColor. Original color where we will apply the transform. Transform to be applied to oldColor. Identifies which kind of color is the one to apply in this structure. Returns -1 if obj is more than color, 0 if both colors are the same, and 1 if obj is less than color. Returns true if both instances have the same color. Object to compare. True if both colors are the same. Returns a color class with an specified color. There is no real need to call this method, since conversion between and is implicit. You can just assign Color to this class and viceversa. Color that we want to set. The corresponding system color. Returns a color class with an specified HSL color. Color that we want to set. The corresponding system color. Returns a color class with an specified preset color. Color that we want to set. The corresponding preset color. Returns a color from its byte components. Red component. Green component. Blue component. Returns a color class with an specified scRGB color. Color that we want to set. The corresponding system color. Returns a color class with an specified system color. Color that we want to set. The corresponding system color. Returns a color class with an specified themed color. Color that we want to set. The corresponding system color. Returns an array with all the color transforms in this object. Returns R, G and B components of the color. If this is a theme or indexed color, it will be converted to RGB before getting the components. ExcelFile that will be used to know the palette and themes of the file for indexed/themed colors. Returns the red component of the color. Returns the green component of the color. Returns the blue component of the color. Returns the hashcode of the object. Returns the color associated with a simple color. Returns the color when this structure has an HSL color, as a 0xHHSSLL integer.

If you try to read the value of this property and is not the right kind, an Exception will be raised.
Returns true if both colors are equal. First color to compare. Second color to compare. Returns true if o1 is bigger than o2. Assigns a .NET color to this instance. Returns true if both colors do not have the same value. First color to compare. Second color to compare. Returns true if o1 is less than o2. Returns the color when this structure has a Preset color.

If you try to read the value of this property and is not the right kind, an Exception will be raised.
Returns the color when this structure has an RGB color, as a 0xRRGGBB integer.

If you try to read the value of this property and is not the right kind, an Exception will be raised.
Returns the color when this structure has an scRGB color.

If you try to read the value of this property and is not the right kind, an Exception will be raised.
Returns the color when this structure has a System color.

If you try to read the value of this property and is not the right kind, an Exception will be raised.
Returns the color when this structure has a Themed color.

If you try to read the value of this property and is not the right kind, an Exception will be raised.
Returns the .NET Color specified by this structure. Excel file containing the themes and palettes for the color indexes. The corresponding .NET color. Returns the transparent color. Defines the kind of colors that might be stored inside a color definition in a drawing or a theme. Hue, Saturation, Luminance. Color is from the list in . RGB expressed as components. Components are in the range 0-255 scRGB color mode. Components are in the range 0-1. System color. This is defined by windows, for example the color of the active caption. Links to a theme color. You can't use this value when defining the theme colors themselves. A coordinate in a drawing. Creates a coordinate in Emus. To use other units, use the "From..." methods of this struct. Value of the coordinate. Value of the coordinate in cm Returns how many EMUs in 1 cm. Value of the coordinate in EMUs (English Metric Units) Returns true if this instance has the same data as the object obj. Creates a drawing coordinate from a measunement in centimeters. Value in cm. The corresponding DrawingCoordinate. Creates a drawing coordinate from a measunement in inches. Value in inches. The corresponding DrawingCoordinate. Creates a drawing coordinate from a measunement in milimeters. Value in mm. The corresponding DrawingCoordinate. Creates a drawing coordinate from a measunement in points. (1/72 of an inch) Value in points (1/72 of an inch). The corresponding DrawingCoordinate. Returns the hashcode for this object Value of the coordinate in inches Returns how many EMUs in 1 inch. Returns how many EMUs in 1 pc. Returns how many EMUs in 1 pi. Value of the coordinate in pixels Value of the coordinate in points Returns how many EMUs in 1 point. Different types of font alignment. When the text flow is horizontal or simple vertical same as fontBaseline but for other vertical modes same as fontCenter. The letters are anchored to the top baseline of a single line. The letters are anchored between the two baselines of a single line. The letters are anchored to the bottom baseline of a single line. The letters are anchored to the very bottom of a single line. This is different than the bottom baseline because of letters such as "g," "q," "y," etc. A base class for storing gradient definitions, be them Linear or Path gradients. Initializes a new instance of the class Rerturns a deep copy of this object. Returns if an objects is bigger than the other. Represents one of the points in a Gradient definition for a drawing (autoshapes, charts, etc). Note that Excel cells use a different Gradient definition: Creates a new Gradient stop. Position for the stop. Color for the stop. Color for this definition. Compares 2 instances of this struct. Returns if this struct has the same values as other one. Returns the hashcode for this struct. Returns true if both gradient stops are equal. First stop to compare. Second stop to compare. Returns true if o1 is bigger than o2. Returns true if both gradient stops are different. First stop to compare. Second stop to compare. Returns true if o1 is less than o2. This value must be between 0 and 1, and represents the position in the gradient where the in this structure is pure. Specifies an hyerlink in a drawing. This class has no public members yet. Returns -1, 0 or 1 depending if this object is smaller or bigger than the other. Returns true if both instances have the same data. Object to compare. True if both strings are the same. Returns the hashcode of the object. Returns true if both objects are equal. First object to compare. Second object to compare. Returns true if both objects do not have the same value. First objects to compare. Second objects to compare. This class holds a linear gradient definition. Creates a new Linear gradient definition. Specifies the direction of color change for the gradient. To define this angle, let its value be x measured clockwise. Then ( -sin x, cos x ) is a vector parallel to the line of constant color in the gradient fill. Returns -1 if obj is bigger than this, 0 if both objects are the same, and 1 if obj is smaller than this. Returns true if this instance has the same data as the object obj. Returns the hashcode for this object Whether the gradient angle scales with the fill region. Mathematically, if this flag is true, then the gradient vector ( cos x , sin x ) is scaled by the width (w) and height (h) of the fill region, so that the vector becomes ( w cos x, h sin x ) (before normalization). Properties of a text paragraph inside a drawing. Creates a new instance by setting all properties. Specifies the alignment that is to be applied to the paragraph. Returns -1 if obj is bigger than this, 0 if both strings are the same, and 1 if obj is smaller than this. Specifies the default size for a tab character within this paragraph. This attribute should be used to describe the spacing of tabs within the paragraph instead of a leading indentation tab. For indentation tabs there are the marL and indent attributes to assist with this. Specifies whether an East Asian word can be broken in half and wrapped onto the next line without a hyphen being added. Returns a paragraph with the default values. Returns true if both instances have the same string and formatting. Object to compare. True if both strings are the same. Determines where vertically on a line of text the actual words are positioned. This deals with vertical placement of the characters with respect to the baselines. Returns the hashcode of the object. Specifies whether punctuation is to be forcefully laid out on a line of text or put on a different line of text. Specifies the indent size that is applied to the first line of text in the paragraph. An indentation of 0 is considered to be at the same location as marL attribute. Specifies whether a Latin word can be broken in half and wrapped onto the next line without a hyphen being added. Specifies the particular level text properties that this paragraph follows. Specifies the left margin of the paragraph. Specifies the right margin of the paragraph. Returns true if both objects are equal. First object to compare. Second object to compare. Returns true is an object is bigger than the other. First object to compare. Second object to compare. Returns true if both objects do not have the same value. First objects to compare. Second objects to compare. Returns true is an object is less than the other. First object to compare. Second object to compare. Specifies whether the text is right-to-left or left-to-right in its flow direction. Holds a Path gradient definition. Creates a new TDrawingPath object. Returns -1 if obj is bigger than this, 0 if both objects are the same, and 1 if obj is smaller than this. Returns true if this instance has the same data as the object obj. This element defines the "focus" rectangle for the center shade, specified relative to the fill tile rectangle.

The center shade fills the entire tile except the margins specified by each attribute.

Each edge of the center shade rectangle is defined by a percentage offset from the corresponding edge of the tile rectangle. A positive percentage specifies an inset, while a negative percentage specifies an outset.
Returns the hashcode for this object Specifies the shape of the path to follow. Different types of patterns for filling an Excel 2007 object. This is different from the patterns to fill a cell. pct5 pct10 pct20 pct25 pct30 pct40 pct50 pct60 pct70 pct75 pct80 pct90 horz vert ltHorz ltVert dkHorz dkVert narHorz narVert dashHorz dashVert cross dnDiag upDiag ltDnDiag ltUpDiag dkDnDiag dkUpDiag wdDnDiag wdUpDiag dashDnDiag dashUpDiag diagCross smCheck lgCheck smGrid lgGrid dotGrid smConfetti lgConfetti horzBrick diagBrick solidDmnd openDmnd dotDmnd plaid sphere weave divot shingle wave trellis zigZag A point with x and y coordinates. Creates a new Drawing point. X Coordinate. Y Coordinate. Returns true if this instance has the same data as the object obj. Returns the hashcode for this object X coordinate. Y coordinate. How to position two rectangles relative to each other. Align at the top left. Align at the top. Align at the top right. Align at the left. Align at the center. Align at the right. Align at the bottom left. Align at the bottom. Align at the bottom right. A rectangle with coordinates used in a drawing. Creates a new instance. Percentage of the left coordinate. Might be negative. Percentage of the top coordinate. Might be negative. Percentage of the right coordinate. Might be negative. Percentage of the bottom coordinate. Might be negative. Percentage of the bottom coordinate. Might be negative. Returns true if both classes contain the same rectangle. Returns the hashcode for this object. Bottom - Top Percentage of the left coordinate. Might be negative. Percentage of the right coordinate. Might be negative. Percentage of the top coordinate. Might be negative. Right - Left A rich string used in drawings. It is similar to but it has more properties like for example wordart properties. Similar to a string, this class is immutable. Creates a new TDrawingRichString with a null value. Creates a new TDrawingRichString from an array of paragraphs. Array of RTF runs with the data and formatting for the string. Creates a new TDrawingRichString with no formatting. String with the data. Adds two richstrings together. If using C#, you can just use the overloaded "+" operator to contactenate rich strings. Returns -1 if obj is bigger than this, 0 if both strings are the same, and 1 if obj is smaller than this. Returns true if both instances have the same string and formatting. Object to compare. True if both strings are the same. Returns a new TDrawingRichString from a TRichString. Note that the conversion is not perfect since information in both kind of strings is different. String that we want to convert. Excel file with the fonts. Returns the hashcode of the object. Length of the DrawingRichString. Concatenates two TDrawingRichString objects. First string to concatenate. Second string to concatenate. The concatenated string. Returns true if both strings are equal. First string to compare. Second string to compare. Returns true is a string is bigger than the other. First string to compare. Second string to compare. Converts a TDrawingRichString to a string. Converts a string to a TDrawingRichString. Returns true if both strings do not have the same value. First string to compare. Second string to compare. Returns true is a string is less than the other. First string to compare. Second string to compare. A paragraph of the text. Index on the list. 0 based. The paragraph. The count of Paragraphs in this string. Trims all the whitespace at the end of the string. The trimmed string. Retrieves a substring from this instance. The substring starts at a specified character position and ends at the end of the string. Start of the substring (0 based) Retrieves a substring from this instance. The substring starts at a specified character position and has a specified length. Start of the substring (0 based) Number of characters to copy. Converts this TDrawingRichString into a . Note that the conversion is not perfect as a TDrawingRichString has different information from a TRichString. Excel file with the fonts. Returns the string without Rich text info. Trims all the whitespace at the beginning and end of the string. The trimmed string. Text of the string without formatting. Might be null. Group of simple attributes for text properties. Creates a new instance. Specifies the alternate language to use when the generating application is displaying the user interface controls. Specifies the baseline for both the superscript and subscript fonts. Specifies whether a run of text is formatted as bold text. Specifies the link target name that is used to reference to the proper link properties in a custom XML part within the document. Specifies the capitalization that is to be applied to the text run. This is a render-only modification and does not affect the actual characters stored in the text run. This attribute is also distinct from the toggle function where the actual characters stored in the text run are changed. Returns -1 if obj is bigger than this, 0 if both strings are the same, and 1 if obj is smaller than this. Specifies that the content of a text run has changed since the proofing tools have last been run. Returns the text attributes with the default values. Returns true if both instances have the same string and formatting. Object to compare. True if both strings are the same. Specifies that when this run of text was checked for spelling, grammar, etc. that a mistake was indeed found. Returns the hashcode of the object. Specifies whether a run of text is formatted as italic text. Specifies the minimum font size at which character kerning occurs for this text run. Whole points are specified in increments of 100 starting with 100 being a point size of 1. For instance a font point size of 12 would be 1200 and a font point size of 12.5 would be 1250. Specifies whether the numbers contained within vertical text continue vertically with the text or whether they are to be displayed horizontally while the surrounding characters continue in a vertical fashion. Specifies the language to be used when the generating application is displaying the user interface controls. Specifies that a run of text has been selected by the user to not be checked for mistakes. Specifies the normalization of height that is to be applied to the text run. This is a render- only modification and does not affect the actual characters stored in the text run. This attribute is also distinct from the toggle function where the actual characters stored in the text run are changed. Returns true if both objects are equal. First object to compare. Second object to compare. Returns true is an object is bigger than the other. First object to compare. Second object to compare. Returns true if both objects do not have the same value. First objects to compare. Second objects to compare. Returns true is an object is less than the other. First object to compare. Second object to compare. Specifies the size of text within a text run. Whole points are specified in increments of 100 starting with 100 being a point size of 1. For instance a font point size of 12 would be 1200 and a font point size of 12.5 would be 1250. Specifies whether or not a text run has been checked for smart tags. Specifies a smart tag identifier for a run of text. This ID is unique throughout the presentation and is used to reference corresponding auxiliary information about the smart tag. Specifies the spacing between characters within a text run. This spacing is specified numerically and should be consistently applied across the entire run of text by the generating application. Whole points are specified in increments of 100 starting with 100 being a point size of 1. For instance a font point size of 12 would be 1200 and a font point size of 12.5 would be 1250. Specifies whether a run of text is formatted as strikethrough text. Specifies whether a run of text is formatted as underlined text. how text is capitalized when rendered. No capitalization. Apply small caps to the text. All letters are converted to lower case. Apply all caps on the text. All lower case letters are converted to upper case even though they are stored differently in the backing store. A paragraph in the text inside a drawing. This struct is immutable. Creates a new TDrawingTextParagraph instance. Creates a new TDrawingTextParagraph based on a simple string. Returns -1 if obj is bigger than this, 0 if both strings are the same, and 1 if obj is smaller than this. Properties that apply to new paragraphs that are added after this one. Returns true if both instances have the same string and formatting. Object to compare. True if both strings are the same. Returns the hashcode of the object. Returns true if both objects are equal. First object to compare. Second object to compare. Returns true is an object is bigger than the other. First object to compare. Second object to compare. Returns true if both objects do not have the same value. First objects to compare. Second objects to compare. Returns true is an object is less than the other. First object to compare. Second object to compare. The properties that apply to this paragraph. Retrieves a substring from this instance. The substring starts at a specified character position and has a specified length. Start of the substring (0 based) Number of characters to copy. Returns the contents of the paragraph as plain text. Returns a single text run for the paragraph. Index of the run (0 based) Text run for position index. Returns the number of runs in the paragraph. Properties of a text run inside a drawing. Creates a new instance. Group of simple attributes applied to the text run. Returns -1 if obj is bigger than this, 0 if both strings are the same, and 1 if obj is smaller than this. This element specifies that a complex script font be used for a specific run of text. This font is specified with a typeface attribute much like the others but is specifically classified as a complex script font. This element specifies that an East Asian font be used for a specific run of text. This font is specified with a typeface attribute much like the others but is specifically classified as an East Asian font. Effects applied to the text. Returns the text attributes with the default values. Returns true if both instances have the same string and formatting. Object to compare. True if both strings are the same. Fill style for the text. Returns the hashcode of the object. Highlight color that is present for a run of text. Specifies the on-click hyperlink information to be applied to a run of text. When the hyperlink text is clicked the link is fetched. Specifies the mouse-over hyperlink information to be applied to a run of text. When the mouse is hovered over this hyperlink text the link is fetched. This element specifies that a Latin font be used for a specific run of text. This font is specified with a typeface attribute much like the others but is specifically classified as a Latin font. Line style for the text. Returns true if both objects are equal. First object to compare. Second object to compare. Returns true is an object is bigger than the other. First object to compare. Second object to compare. Returns true if both objects do not have the same value. First objects to compare. Second objects to compare. Returns true is an object is less than the other. First object to compare. Second object to compare. This element specifies whether the contents of this run shall have right-to-left characteristics. This element specifies that a symbol script font be used for a specific run of text. This font is specified with a typeface attribute much like the others but is specifically classified as a symbol script font. Underline fill for the text. A rich formatting run used in text inside of a drawing. This struct is immutable. Creates a new Text Run. Returns -1 if obj is bigger than this, 0 if both strings are the same, and 1 if obj is smaller than this. Returns true if both instances have the same string and formatting. Object to compare. True if both strings are the same. Returns the hashcode of the object. Returns true if this run contains a single line break. Returns true if both objects are equal. First object to compare. Second object to compare. Returns true is an object is bigger than the other. First object to compare. Second object to compare. Returns true if both objects do not have the same value. First objects to compare. Second objects to compare. Returns true is an object is less than the other. First object to compare. Second object to compare. String that this text run holds. Properties for this text run. String in the text run. How the text is striked out. No strike is applied to the text. A single strike is applied to the text. A double strike is applied to the text. Specifies the Fill style and line style of underlined text, when it is underlined. Returns -1, 0 or 1 depending if this object is smaller or bigger than the other. Returns true if both instances have the same data. Object to compare. True if both strings are the same. Returns the hashcode of the object. Returns true if both objects are equal. First object to compare. Second object to compare. Returns true if both objects do not have the same value. First objects to compare. Second objects to compare. Possible underline types in a drawing. No underline. Underline just the words and not the spaces between them. Underline the text with a single line of normal thickness. Underline the text with two lines of normal thickness. Underline the text with a single, thick line. Underline the text with a single, dotted line of normal thickness. Underline the text with a single, thick dotted line. Underline the text with a single, dashed line of normal thickness. Underline the text with a single, thick dashed line. Underline the text with a single line of normal thickness consisting of long dashes. Underline the text with a single thick line consisting of long dashes. Underline the text with a single line consisting of alternating dots and dashes of normal thcikness. Underline the text with a single thick line consisting of alternating dots and dashes. Underline the text with a single line of normal thickness consisting of repeating two dots and dashes. Underline the text with a single thick line consisting of repeating two dots and dashes. Underline the text with a single wavy line of normal thickness. Underline the text with a single, thick wavy line. Underline the text with two wavy lines of normal thickness. This class holds the effects that are applied to a drawing. At this moment its members are not public. Returns -1, 0 or 1 depending if this object is smaller or bigger than the other. Returns true if both instances have the same data. Object to compare. True if both strings are the same. Returns the hashcode of the object. Returns true if both objects are equal. First object to compare. Second object to compare. Returns true if both objects do not have the same value. First objects to compare. Second objects to compare. Represents the effect style characteristics. Creates a new instance. Returns a deep copy of the object. Encryption algorithms supported in xlsx encrypted files. AES 128. This is the default in Excel 2007/2010 AES 192 AES 256 How the file is encrypted. This applies only to xls files. Xlsx files are encrypted using the Agile xlsx encryption. Excel 95 XOR encryption. Excel 97/2000 encryption. Excel XP/2003 encryption. Defines how characters will be converted when encoding a string as Html. Enter characters in the input string will be converted to <br> tags. Multiple spaces will be converted to &nbsp; entities. Enter characters in the input string will be converted to &#0A; entities. Multiple spaces will be not converted. Enter and multiple spaces will be ignored. Represents an Excel color. Colors in Excel can be defined in four ways: Automatic Colors, Indexed Colors (for compatibility with Excel 2003 or older), Palette colors, and RGB colors. This Structure is immutable, once you create it you cannot change its members. You need to create a new struct to modify it. Returns an standard Automatic color. Identifies which kind of color is the one to apply in this structure. Returns -1 if obj is more than color, 0 if both colors are the same, and 1 if obj is less than color. Returns true if both instances have the same color. Object to compare. True if both colors are the same. Returns a Color class with the specified rgb color and with the specified tint. Red component of the color. Green component of the color. Blue component of the color. Tint for the color. If you try to set a value less than -1 it will be stored as -1, and values bigger than 1 as 1. No exceptions will be raised. Returns a Color class with the specified rgb color. Color to set. Returns a Color class with the specified rgb color and with the specified tint. Color to set. Tint for the color. If you try to set a value less than -1 it will be stored as -1, and values bigger than 1 as 1. No exceptions will be raised. Returns a color class with an specified color index. For compatibility with old code, you can enter any index here. If the value is less than 1 or more than 56, it will assume automatic color. Index to the color palette. (1 based) Returns a color class with an specified color index. For compatibility with old code, you can enter any index here. If the value is less than 1 or more than 56, it will assume automatic color. Index to the color palette. (1 based) Tint for the color. If you try to set a value less than -1 it will be stored as -1, and values bigger than 1 as 1. No exceptions will be raised. Returns a color class with an specified theme color and tint. Theme color index. Returns a color class with an specified theme color and tint. Theme color index. Tint for the color. If you try to set a value less than -1 it will be stored as -1, and values bigger than 1 as 1. No exceptions will be raised. Returns the hashcode of the object. Returns the color when this structure contains an indexed color (1 based). This property is for compatibility with xls files (Excel 2003 or older), but if you are not changing the color palette, even for older files, it is preferred to use or instead.

If you try to read the value of this property and is not the right kind, an Exception will be raised.
Returns true if this instance has an automatic color. True if this structure has an automatic color. Returns true if both colors are equal. First color to compare. Second color to compare. Returns true is a color is bigger than the other. First color to compare. Second color to compare. Assigns a system color to this instance. Returns true if both colors do not have the same value. First color to compare. Second color to compare. Returns true is a color is less than the other. First color to compare. Second color to compare. Returns the color when this structure has an RGB color, as a 0xRRGGBB integer. This property is fully functional with Excel 2007 or newer, older versions will be converted to Indexed color before saving as xls. Note: When reading a color, the value here might not be the final one, since is applied to get the final color. Use method to find out the RGB color stored in this struct.

If you try to read the value of this property and is not the right kind, an Exception will be raised.
Returns the color if it is one of the entries in the theme palette (1 based).

If you try to read the value of this property and is not the right kind, an Exception will be raised.
Returns the tint value applied to the color.

If tint is supplied, then it is applied to the RGB value of the color to determine the final color applied.

The tint value is stored as a double from -1.0 .. 1.0, where -1.0 means 100% darken and 1.0 means 100% lighten. Also, 0.0 means no change.
Returns the value of this class as a system color. Excel file containing the themes and palettes for the color indexes. Returns the value of this class as a system color. Excel file containing the themes and palettes for the color indexes. Color to be returned if this structure has an automatic color. Enumerates what to do on different FlexCel error situations. FlexCel will try to recover from most errors. When true and the number of manual pagebreaks is bigger than the maximum Excel allows, an Exception will be raised. When false, the page break will be silently ommited. Note that This exception is raised when saving the file as xls, when you are exporting your report to PDF or images, all page breaks will be used. When true, FlexCel will complain when you try to set a formula that has a string constant bigger than 255 characters.
For example, the formula: '="very long string that has more than 255 characters...." & "other string" ' would raise an Exception, since Excel won't allow it. Note that you can still use ' =a1 & "other string" ' where the cell A1 has the value: "very long string that has more than 255 characters....". this restriction applies only to inline strings.
Note that when this property is false you will still get the error, but only when saving to xls, xlsx or other file formats that don't support longer strings. (this error is too important to be ignored)
When true and the row height is bigger than the maximum allowed by Excel, you will get an Exception. If this is true and the xlsx file contains an invalid name, an exception will be thrown. Sets all error actions together. Different Excel versions create different empty xls/xlsx files. For example an empty xls file created by Excel 2003 will have "Arial" as its default font, and one created by Excel 2007 will have "Calibri". By default, when you call FlexCel will create a file that is similar to what Excel 2003 would create. This is fine, but if you want to start for example from an empty Excel 2007 file, you can do so by calling NewFile() with this enumeration. Empty files will be created as if they were created by Excel 2003. The default font is Arial. Empty files will be created as if they were created by Excel 2007. The default font is Calibri. Empty files will be created as if they were created by Excel 2010. The default font is Calibri. Represents a gradient fill for a background cell. This class is abstract, you need to use its children: and Initializes a new instance of the class Creates a deep copy ot this object. Returns true if both classes contain the same gradient. Type of gradient. Returns the hashcode for this object. Type of gradient stored inside this object. Different colors used in the gradient. This array must have at least one stop, and no more than 256. A linear gradient used for filling a background. Creates a new TExcelLinearGradient class. Creates a new TExcelLinearGradient instance. Gradient stops. Rotation angle in degrees. Returns true if both classes contain the same gradient. Returns the hashcode for this object. Rotation angle of the gradient in degrees. A list that contains the Ids and positions of the Excel objects Creates a new instance. IncludeCopies is false. Creates a new TObjectList instance. If true, all shape ids of copied shapes will be included in the Copies property. Number of objects in the list. If this property is true, all shape ids from the copies made will be stored in the Copies property. Returns position i in the list. Returns the shape id of the object in the list. A rectangular gradient used for filling a background. Creates a new TExcelRectangularGradient class. Creates a new rectangular gradient. Gradient stops. Top coordinate for the gradient. This value must be between 0 and 1, and specifies in percent where the first color of the gradient will be placed. Left coordinate for the gradient. This value must be between 0 and 1, and specifies in percent where the first color of the gradient will be placed. Bottom coordinate for the gradient. This value must be between 0 and 1, and specifies in percent where the last color of the gradient will be placed. Right coordinate for the gradient. This value must be between 0 and 1, and specifies in percent where the last color of the gradient will be placed. Bottom coordinate for the gradient. This value must be between 0 and 1, and specifies in percent where the last color of the gradient will be placed. Returns true if both classes contain the same gradient. Returns the hashcode for this object. Left coordinate for the gradient. This value must be between 0 and 1, and specifies in percent where the first color of the gradient will be placed. Right coordinate for the gradient. This value must be between 0 and 1, and specifies in percent where the last color of the gradient will be placed. Top coordinate for the gradient. This value must be between 0 and 1, and specifies in percent where the first color of the gradient will be placed. Manages converting from/to objects/Native excel types. Converts an object to a native Excel datatype, that is: Number, String, Null, bool or Error. Object to convert. True if using 1904 as start date. Excel for windows normally uses 1900. Converts an object on a CellType representation. Object with the value. Cell Type Defines which Excel version FlexCel is targeting. Note that while on v2007 you still can make xls 97 spreadsheets. Versions from Excel 97 to Excel 2003. Those versions have a grid limited by 65536 rows x 255 columns. Excel 2007 and up. This version has a grid of 1048576 rows x 16384 columns. A list of records that might not be saved into a file when using This includes all records, including the write access. It is not recommended to use this setting, because write access will change every time you save a file with a different user. This is a stamp that is saved to the file each time it is saved, identifying the current user. You normally won't want to save this record, so you should specify this value. If you specify CellSelection, the selected cells will be ignored. If you specify SheetSelected, the active sheet will be ignored. If you specify Version, the version of Excel used to save the file will be ignored. (Note that version might change in an Excel Service Pack). This excludes all records in this enumeration. This is the most recomended option. Supported file formats to read and write files. Automatically detect the type of the file when opening files. If used when saving, FlexCel will choose whether to use xls or xlsx depending on the file extension (when saving to a file) or the value of when saving to a stream or when the format can't be determined from the extension. Excel 97-2000-XP-2003 Delimiter separated values. Depending on the delimiter, this can be csv, tab delimited text, etc. Pocket Excel 1.0 or 2.0 Excel 2007 standard file format. Note that this is *not* a macro enabled file format. If you want to save a file with macros, you need to use Xlsm instead. Excel 2007 macro enabled file format. Base definition for a Drawing fill style. This class is abstract, and you should use its descendants like or Initializes the fill style. Returns a deep copy of the fill style. Returns -1 if obj is bigger than this, 0 if both objects are the same, and 1 if obj is smaller than this. Returns true if this instance has the same data as the object obj. Stores which kind of fill style is used. Returns the hashcode for this object Represents the fill style characteristics for an autoshape. Creates a new TFillStyleList instance. Adds a new FillStyle to the collection. Fill styles must be added in order, first is "Subtle", second is "Moderate", third is "Intense" and there could be new definitions in newer versions of Excel. Fill style to add. Clears all the formatting definitions. Creates a deep copy of this object. Returns the number of elements stored in this collection. Returns the fill style that results from applying the formatting type to a color. Index to the collection. Color that will be used as a base to calculate the fill style. Returns the fill style for a given formatting type. Currently Excel defines only 3 formatting types, but more could be added in the future. If you need to access a formatting type that is not defined in the enumeration, just cast an integer to TFormattingType. Stores the different kind of fill styles for an autoshape or drawing. No fill associated with the shape. Shape is filled with a solid color. Shape is filled with a gradient. Shape is filled with an image. Shape is filled with a pattern. The shape is part of a group, and should inherit its parent fill style. Type of fill for an autoshape. (In xls files) Fill with a solid color Fill with a pattern (bitmap) A texture (pattern with its own color map) Center a picture in the shape Shade from start to end points Shade from bounding rectangle to end point Shade from shape outline to end point Similar to msofillShade, but the fillAngle is additionally scaled by the aspect ratio of the shape. If shape is square, it is the same as msofillShade. special type - shade to title --- for PP the background fill color/pattern This class contains generic information about a non fatal error that happened in FlexCel. Children classes might contain more information specific to the error type. Creates a new TFlexCelErrorInfo class. Parameter indicating the type of error that happened. String detailing the error that happened. Error type that this class is holding. Error message with detailed information on what happened. How an image will be flipped when filling a pattern. Image will not be flipped. Tiles are flipped horizontally. Tiles are flipped vertically. Tiles are flipped horizontally and vertically. How an image behaves when inserting/copying rows/columns Move and resize the image with the sheet. Move the image when inserting/copying, but keep its size. Keep the image fixed on the sheet. Border style for a cell. Initializes a new instance of the class This method will modify existingFormat with the properties from newFormat that are specified on this class Existing format that will be updated with the properties of newFormat specified. New format to apply True if there was any change on existingFormat, false otherwise. Bottom border. Returns a deep copy of the border. Diagonal border. When defined, there will be one or two diagonal lines across the cell. Returns true if the format does not apply any setting. Left border. Right border. Sets all members to true or false Top border. Fill pattern and color for the background of a cell. This method will modify existingFormat with the properties from newFormat that are specified on this class Existing format that will be updated with the properties of newFormat specified. New format to apply True if there was any change on existingFormat, false otherwise. Color for the background of the pattern. If the pattern is solid, has no effect. Color for the foreground of the pattern. Defines if to apply a gradient to a cell. Only valid in Excel 2007 or newer. Returns true if the format does not apply any setting. Fill style. Sets all members to true or false Encapsulation of an Excel Font. Initializes a new instance of the class This method will modify existingFormat with the properties from newFormat that are specified on this class Existing format that will be updated with the properties of newFormat specified. New format to apply True if there was any change on existingFormat, false otherwise. Character set. (see Windows API LOGFONT structure) Returns a deep copy of the font. A copy of the font. Color of the font. Font family, (see Windows API LOGFONT structure). Returns true if the format definition does not apply any setting. Font name. (For example, "Arial") Sets all members to true or false Height of the font (in units of 1/20th of a point). A Size20=200 means 10 points. Style of the font, such as bold or italics. Underline is a different option. Underline type. Defines which attributes of a will be applied for one cell. Whatever member is set to false, it will not apply this member property to the cell. Creates an empty Format class. This method will modify existingFormat with the properties from newFormat that are specified on this class Existing format that will be updated with the properties of newFormat specified. New format to apply True if there was any change on existingFormat, false otherwise. Cell borders. Returns a deep copy of the format. Fill pattern. Cell Font. Horizontal align on the cell. Returns true if the format definition contains only borders. Cell is Hidden. Indent value. (on characters) Returns true if the format does not apply any setting. Cell is locked. Lotus 123 compatibility prefixes. Parent style. This is the parent style name and all the properties that are linked to it. Text Rotation on degrees. 0 - 90 is up, 91 - 180 is down, 255 is vertical. Sets all members to true or false Shrink to fit. Vertical align on the cell. Cell wrap. Border style for a cell. Initializes a new instance of the class Bottom border. Returns a deep copy of the border. Diagonal border. When defined, there will be one or two diagonal lines across the cell. Returns true if both borders are the same. Returns the hashcode for the border. Left border. Right border. Sets all borders to a linestyle and color. Diagonal borders are not changed. Border style to apply. Color to apply Top border. Cell border style. None Thin Medium Dashed Dotted Thick Double Hair Medium_dashed Dash_dot Medium_dash_dot Dash_dot_dot Medium_dash_dot_dot Slanted_dash_dot A TFlxFont with Scaling factor. Scaling factor might be different than 1 if the chart has Autosize Fonts. To get the real value of the font, you need to multiply by the factor. Constructs a new instance. Return a deep copy of the copy. Actual information for the font. Scale for the font. Multiply by this value to get the real size in points. Diagonal border style. No diagonal line. A line going from left-top to right-bottom. A line going from left-bottom to right-top. A diagonal cross. Fill pattern and color for the background of a cell. Color for the background of the pattern. If the pattern is solid it has no effect, but it is used when pattern is automatic. Creates a deep copy of this object. Color for the foreground of the pattern. It is used when the pattern is solid, but not when it is automatic. Gradient definition. This is only valid if is TFlxPatternStyle.Gradient. Fill style. Encapsulation of an Excel Font. Creates a font with size 10 and name "Arial". Character set. (see Windows API LOGFONT structure) Returns a deep copy of the font. A copy of the font. Color of the font. Copies this font information to other font object. Existing Font object where new data will be copied. Font family, (see Windows API LOGFONT structure). Font name. (For example, "Arial") Font scheme. This only applies to Excel 2007. Height of the font (in units of 1/20th of a point). A Size20=200 means 10 points. Style of the font, such as bold or italics. Underline is a different option. Underline type. Font style. You can "or" on "and" it to get the actual styles. For example, to set style to bold+italic, you should use TFlxFontStyles.Bold | TFlxFontStyles.Italic. to check if style includes italic, use ((Style & TFlxFontStyles.Italic)!=0) Normal font. Bold font. Italic font. Striked out font. Superscript font. Subscript font. Outlined font. Excel currently ignores this setting. Font has a shadow. Excel currently ignores this setting. Condensed font, for backwards compatibility. Excel ignores this setting. Extended font, for backwards compatibility. Excel ignores this setting. Format for one cell or named style. Cell formats are used to format cells, Named styles to create styles. A Cell format can have a parent style format, even when normally this is null (parent is normal format). Named styles will have a non-null Style property. Cell formats will have style = null. Cell borders. Returns a deep copy of the format. Returns a standard TFlxFormat for Excel 2007. (Font name is Calibri, etc). You will normally want to use instead of this, since it returns the default format for an specific file, and not a generic format like this. Fill pattern. Cell Font. Format string. (For example, "yyyy-mm-dd" for a date format, or "#.00" for a numeric 2 decimal format)
This format string is the same you use in Excel under "Custom" format when formatting a cell, and it is documented in Excel documentation. Under "Finding out what format string to use in TFlxFormat.Format" section in UsingFlexCelAPI.pdf you can find more detailed information on how to create this string.
Horizontal alignment on the cell. Cell is Hidden. Indent value. (in characters). This value can't be bigger than 15 in Excel 2003 or earlier, and no bigger than 250 in Excel 2007 or newer. When true this format is a named style, when false a cell format. If this object holds a Cell format, LinkedStyle specifies which properties of the cell format are linked to its parent style. If this object holds a Style formt, LinkedStyle specifies the default set of properties that will be applied when you use this style from Excel. Cell is locked. If true the prefix for the cell is compatible with Lotus 123. This is similar to but will return "Normal" when the parent is null. Name of the Parent style. Normally you will want to keep it at null (parent is normal style), but you can write an existing style here. If is true this property is not used. Text Rotation in degrees.
0 - 90 is up,
91 - 180 is down,
255 is vertical.
Shrink to fit. Vertical alignment on the cell. Cell wrap. Error codes for cells on excel Null Value Division by 0 Invalid Value Invalid or deleted cell reference Invalid name Invalid number Not available Inserting mode. Cells will not be inserted but just overwrite existing ones. If count is >0, additional ranges will be copied down.

When deleting, this mode will clear the cells and not move anything.
Cells will not be inserted but just overwrite existing ones. If count is >0, additional ranges will be copied right.

When deleting, this mode will clear the cells and not move anything.
Inserts whole rows. Moves all destination rows down.

When deleting, moves cells up.
Inserts whole columns. Moves all destination columns to the right.

When deleting, moves columns to the right of the deleted columns to the left.
Moves all destination cells down. This WON'T move the whole row, only cells on the range.

When deleting, moves cells up.
Moves all destination cells to the right. This WON'T move the whole column, only cells on the range.

When deleting, moves cells to the left.
Static class to convert cells to formatted strings. It uses format strings from Excel, that are different to those on .net, so we have to try to reconcile the diffs. Formats a value as it would be shown by Excel. Value to format. Cell Format. (For example, "yyyy-mm-dd" for a date format, or "#.00" for a numeric 2 decimal format)
This format string is the same you use in Excel under "Custom" format when formatting a cell, and it is documented in Excel documentation. Under "Finding out what format string to use in TFlxFormat.Format" section in UsingFlexCelAPI.pdf you can find more detailed information on how to create this string. Final color of the text. (Depending on the format, color might change. I.e. Red for negatives) Workbook with the cell. If null, no color information will be returned and the base date fill be assumed to be 1900 (windows) and not 1904 (macs). Formatted string.
Formats a value as it would be shown by Excel. Value to format. Cell Format. (For example, "yyyy-mm-dd" for a date format, or "#.00" for a numeric 2 decimal format)
This format string is the same you use in Excel under "Custom" format when formatting a cell, and it is documented in Excel documentation. Under "Finding out what format string to use in TFlxFormat.Format" section in UsingFlexCelAPI.pdf you can find more detailed information on how to create this string. Final color of the text. (Depending on the format, color might change. I.e. Red for negatives) Workbook with the cell. If null, no color information will be returned and the base date fill be assumed to be 1900 (windows) and not 1904 (macs). Returns if the format contains a date. Returns if the format contains a time. Formatted string.
Formats a value as it would be shown by Excel. Value to format. Cell Format. (For example, "yyyy-mm-dd" for a date format, or "#.00" for a numeric 2 decimal format)
This format string is the same you use in Excel under "Custom" format when formatting a cell, and it is documented in Excel documentation. Under "Finding out what format string to use in TFlxFormat.Format" section in UsingFlexCelAPI.pdf you can find more detailed information on how to create this string. Final color of the text. (Depending on the format, color might change. I.e. Red for negatives) Workbook with the cell. If null, no color information will be returned and the base date fill be assumed to be 1900 (windows) and not 1904 (macs). Returns if the format contains a date. Returns if the format contains a time. Returns micro-justification information needed to adapt the text better to a cell. Null if there are no adaptative formats. Formatted string.
Returns the string used on a standard date on the current locale Returns the string used on a standard date and time on the current locale Border style and color for one of the 4 sides of a cell. Initializes the structure to its default values. See See Color of the border. Returns true when 2 borders are the same. Hash code for the border. hashcode. Border style. Pattern style. Automatic None Solid Gray50 Gray75 Gray25 Horizontal Vertical Down Up Diagonal hatch. bold diagonal. thin horz lines thin vert lines thin \ lines thin / lines thin horz hatch thin diag 12.5 % gray 6.25 % gray The fill style will be a . Underline type. No underline. Simple underline. Double underline. Underlines at the bottom of the cell. Double underline at the bottom of the cell. Formula return types... A value, an array or a reference. Formula returns a value. Formula returns a reference. Formula returns an array. Character set for a font as defined in the DrawingML standard. Specifies the ANSI character set. (IANA name iso-8859-1) Specifies the default character set. Specifies the Symbol character set. This value specifies that the characters in the Unicode private use area (U+FF00 to U+FFFF) of the font should be used to display characters in the range U+0000 to U+00FF. Specifies a Macintosh (Standard Roman) character set. (IANA name macintosh) Specifies the JIS character set. (IANA name shift_jis) Specifies the Hangul character set. (IANA name ks_c_5601-1987) Specifies a Johab character set. (IANA name KS C-5601-1992) Specifies the GB-2312 character set. (IANA name GBK) Specifies the Chinese Big Five character set. (IANA name Big5) ECMA-376 Part 1 Specifies a Greek character set. (IANA name windows-1253) Specifies a Turkish character set. (IANA name iso-8859-9) Specifies a Vietnamese character set. (IANA name windows-1258) Specifies a Hebrew character set. (IANA name windows-1255) Specifies an Arabic character set. (IANA name windows-1256) Specifies a Baltic character set. (IANA name windows-1257) Specifies a Russian character set. (IANA name windows-1251) Specifies a Thai character set. (IANA name windows-874) Specifies an Eastern European character set. (IANA name windows-1250) Specifies an OEM character set not defined by ECMA-376. Specifies the scheme to which a font belongs. This attribute is only valid in Excel 2007. Font is not a theme font. The font is a minor font for the scheme. The font is a major font for the scheme. The elements here are different types of fill/effects/etc that can be applied to an object. Currently Excel only defines 3 types, but more can be added in future specifications. Newer types can be accessed by casting an int to TFormattingType. (for example "(TFormattingType)5" would refer to a now non existing formatting type) Subtle formatting type. Moderate formatting type. Intense formatting type. An Excel formula. Use this class to pass a formula to an Excel sheet. Creates an empty Excel formula Creates a formula with the corresponding text and result=null. Formula Text Creates a formula with the corresponding text and result. Formula Text Formula Result Creates a formula that spans to more than one row or column. Use it to create multicell array formulas or what-if tables. Formula Text Formula Result. You will normally want to set this to null, as it will be recalculated by FlexCel. How many rows and columns this formula will span, and in which position for the array the formula is. Returns a Deep copy of the formula. Returns true if obj is equal to this instance. Hashcode of the formula. The formula result. For multicell formulas (like an array formula entered over more than one cell) this property says how many rows and columns the formula uses. Normal formulas will span one single cell The formula text, as it is written on Excel. It must begin with "=" or "{" for array formulas. Returns the formula result as a string. Tokens that can be used on a formula. Message for the ErrorCode. Error Code. Message. This is a non-localized version of FloatToStr It will always use "." as decimal separator. If you are localizing this unit to your language, change this function to be: public string FloatToString(double Value) { return Value.ToString(); } And it will use your current locale to get the decimal separator. Just remember that if you for example use "," as decimal sep, you should also change fmArrayColSep, fmFunctionSep and all vars with value="," Value to convert String using ALWAYS "." as decimal separator, regardless of the regional settings This is a non-localized version of StrToFloat It will always use "." as decimal separator. If you are localizing this unit to your language, change this function to be: public double FloatToString(string Value) { return Value.ToDouble(); } And it will use your current locale to get the decimal separator. Just remember that if you for example use "," as decimal sep, you should also change fmArrayColSep, fmFunctionSep and all vars with value="," String to Convert. ALWAYS uses "." as decimal separator value of the string Returns the formula token as a character. Token. Message Formula tokens. Token. Message. This structure is used in formulas that span more than one cell, like some array formulas, or "what-if" table formulas. Creates a new TFormulaSpan and sets its values. How many rows the formula will use. How many columns the formula will use. Indicates if this is the first formula of the array. Only the formula that is at the top left cell of the group will be used when setting a formula. Other formulas will be ignored, so you can copy formulas in a loop from one place to the other without worring if the cell is at the top left or not. How many columns the formula will use. Returns true of the 2 FormulaSpans are the same. Returns the hashcode for this object. Returns true if this formula spans over a single cell. (the most usual case) Indicates if this is the first formula of the array. Only the formula that is at the top left cell of the group will be used when setting a formula. Other formulas will be ignored, so you can copy formulas in a loop from one place to the other without worring if the cell is at the top left or not. This operator is overriden so you can compare this structure directly with == This operator is overriden so you can compare this structure directly with != How many rows the formula will use. Known token on a formula. They are not supposed to be localized, but they can be by editing formulamsg.resx '#'; 'TRUE'; 'FALSE'; '=' // as in =a1*2 or {=1+2} '.' as in '1.2' ',' as in '1,300' ',' Argument separator on a function. For example, if fmFunctionSep=';' we should write "Max(a1;a2)" If you want to localize this, you could use fmFunctionSep=ListSeparator ',' as in "=a1, b2" ' ' as in a1 a2 '{'; '}'; '('; ')'; '/' Separates 2 rows on an array. It is '\' in spanish ',' Separates 2 columns on an array. Ex: {1,2}. It is ';' in spanish If you want to localize this, you could use fmArrayColSep=ListSeparator '$' as in $A$3 ':' as in A1:A3 ' (as in 'Sheet 1'!A1 '!' as in Sheet1!a1 '[' as in c:\[book1.xls]Sheet1!a1 ']'; 'TABLE'; '+'; '-'; '*'; '/'; '^'; '%'; '"'; '&'; '<'; '<='; '='; '>='; '>'; '<>'; 'R' in R1C1 notation as in R1C2 'C' in R1C1 notation as in R1C2 '[' in R1C1 notation as in R[1]C[-2] ']' in R1C1 notation as in R[1]C[-2] Specifies the function group index if the defined name refers to a function. The function group defines the general category for the function. This attribute is used when there is an add-in or other code project associated with the file. Not defined. Don't use. Financial Date and Time Shapes are filled with a gradient. Creates a new Gradient fill. Returns -1 if obj is bigger than this, 0 if both objects are the same, and 1 if obj is smaller than this. Returns true if this instance has the same data as the object obj. Specifies the direction(s) in which to flip the gradient while tiling.

Normally a gradient fill encompasses the entire bounding box of the shape which contains the fill. However, with the tileRect element, it is possible to define a "tile" rectangle which is smaller than the bounding box. In this situation, the gradient fill is encompassed within the tile rectangle, and the tile rectangle is tiled across the bounding box to fill the entire area
Returns the hashcode for this object Definition of the gradient. This can be a TDrawingLinearGradient class or a TDrawingPathGradient class. The list of gradient stops that specifies the gradient colors and their relative positions in the color band. Specifies that the fill should rotate with the shape. This element specifies a rectangular region of the shape to which the gradient is applied. This region is then tiled across the remaining area of the shape to complete the fill. The tile rectangle is defined by percentage offsets from the sides of the shape's bounding box. Represents one of the points in a Gradient definition for an Excel cell. Note that drawings (autoshapes, charts, etc) use a different Gradient definition: Creates a new Gradient stop. Position for the stop. Color for the stop. Color for this definition. Compares 2 instances of this struct. Returns if this struct has the same values as other one. Returns the hashcode for this struct. Returns true if both gradient stops are equal. First stop to compare. Second stop to compare. Returns true if o1 is bigger than o2. Returns true if both gradient stops are different. First stop to compare. Second stop to compare. Returns true if o1 is less than o2. This value must be between 0 and 1, and represents the position in the gradient where the in this structure is pure. The type of gradient stored inside a object. Linear gradient. Rectangular gradient. Shape is part of a group and filled with its parent fill style. Creates a new TGroupFill instance. Returns -1 if obj is bigger than this, 0 if both objects are the same, and 1 if obj is smaller than this. Returns true if this instance has the same data as the object obj. Returns the hashcode for this object Contains all information about headers and footers in an Excel sheet. Align header footer margins with page margins. When true, as left/right margins grow and shrink, the header and footer edges stay aligned with the margins. When false, headers and footers are aligned on the paper edges, regardless of margins. Returns or sets the footer for all pages that are not even or the first page. If is false, then this string also applies to the first page. If is false, this string also applies for even pages. For a description of the possible values of this string, see
To set a footer for all pages, use
Returns or sets the header for all pages that are not even or the first page. If is false, then this string also applies to the first page. If is false, this string also applies for even pages. For a description of the possible values of this string, see
To set a header for all pages, use
When true even pages will have different headers and footers from odd pages, and headers/footer for even pages will be specified in and . When false, EvenHeader and EvenFooter have no meaning. When true the first page will have a different header and footer from the rest, and it will be specified in and . When false, FirstHeader and FirstFooter have no meaning. Returns true if both objects are the same. Footer for even pages. Note that this value is valid if and only if is true. For a description of the possible values of this string, see
If you don't want a different footer for even pages, set to false or call .
Header for even pages. Note that this value is valid if and only if is true. For a description of the possible values of this string, see
If you don't want a different header for even pages, set to false or call .
Footer for the first page.Note that this value is valid if and only if is true. For a description of the possible values of this string, see
If you don't want a different footer for the first page, set to false or call .
Header for the first page. Note that this value is valid if and only if is true. For a description of the possible values of this string, see
If you don't want a different header for the first page, set to false or call .
Returns the footer for a given page, considering if there are differences in even/odd pages or the first page. Page for which you want the footers (1 based) Hashcode for the obeject. Returns the header for a given page, considering if there are differences in even/odd pages or the first page. Page for which you want the headers (1 based) Returns the kind of footer image for a given page. This method is normally useful to get the correct image for an specific page. Page for which you want the headers and footers (1 based) Returns true if both structures are the same. Returns true if both structures are different. Determines if to scale header and footer with document scaling or not. Sets the footers for all the pages to a given string. Note that setting this value will set and to false. For a description of the possible values of this string, see Sting with the footer. Sets the headers for all the pages to a given string. Note that setting this value will set and to false. For a description of the possible values of this string, see String with the header. Different kinds of headers and footers depending on which pages they apply. This applies to all headers and footers that don't have a dedicated definition. This applies to the header and footer of the first pages, when it is defined different than the others. This applies to the headers and footes of even pages, when they are different than odd pages. Different sections on a header or footer. Left section on the header. Center section on the header. Right section on the header. Left section on the footer. Center section on the footer. Right section on the footer. Image information for an image inside a header or footer. Creates a new Anchor for a Header or footer image. Width of the image in pixels. Height of the image in pixels. Returns a clone of the anchor. Returns true if both instances of the objects contain the same values. Instances might be different, this method will return if their values are equal. Instances can be null. First instance to compare. Second instance to compare. All the data as a byte array. Height of the image in pixels. Length of the Serialized array. Width of the image in pixels. Image information for an image embedded inside a header or footer. Creates a new empty THeaderOrFooterImageProperties instance. This method will create a new copy of aAnchor and aCropArea, so you can modify it later. Anchor. It will be copied here. Filename of the image, for saving the info on the sheet. Mostly unused. Crop area for the image. Image position Performs a deep copy of the object. An TImageProperties class that is a copy of this instance, but has a different Anchor. So you can change the new Anchor without modifying this one. Returns true if both instances of the objects contain the same values. Instances might be different, this method will return if their values are equal. Instances can be null. First instance to compare. Second instance to compare. Horizontal Alignment on a cell. General Alignment. (Text to the left, numbers to the right and Errors and booleans centered) Aligned to the left. Horizontally centered on the cell. Aligned to the right. Repeat the text to fill the cell width. Justify with spaces the text so it fills the cell width. Centered on a group of cells. Justified. Enumeration defining which objects should not be printed or exported to pdf. You can 'or' more than one option together. For example, to not print images and not comments, you should specify: THidePrintObjects.Images | THidePrintOption.Comments Print and Export everything. Do not print or export images to pdf. Do not export Comments to pdf. Do not export Hyperlinks to pdf. Do not print or export to pdf the Headers. Do not print or export to pdf the Footers. Do not export headers nor footers. This is the same as specifying TPrintOptions.Headers and TPrintOptions.Footers. Do not export page breaks. This property only applies to html exports. Implements a simple representation of a color in Hue/Saturation/Lum colorspace. Creates a Color from the hue, saturation and luminescence. Hue for the color Saturation for the color. Luminescence for the color. Creates a new instance from a system color. This method returns the brightness that results from applying tint to brightness. Brightness of the color (between 0 and 1) Tint of the color (between -1 and 1) Blue component in the RGB space. Returns -1 if obj is more than color, 0 if both colors are the same, and 1 if obj is less than color. Returns the distance between 2 colors. Not that this is not the euclidean distance, but a distance calculated to improve Hue matching. When converting cell colors, we try to preserve hues, so even a very pale red cell will be converted to bright red and not white or a very pale blue. This make it different from standard color matching as is done when adjusting images to a color palette, and where hue is not as important as here. Returns true if both colors are the same. Green component in the RGB space. Returns a hashcode for the color. Returns the tint needed to go from originalBrightness to newBrightness. A tint of 0 means no change (OriginalBrightness == NewBrightness), a tint of -1 means NewBrightness = 0, and a tint of 1 means NewBrightness = 1. So this method just does a simple interpolation to find out the needed tint. This method is an inverse of Brightness of the original color. (between 0 and 1) Brightness of the new color that we want to produce by applying tint to originalBrightness/> The tint we need to apply to go from OriginalBrightness to NewBrigtness. Color hue. (between 0 and 360) Color brigthtness. (between 0 and 1) Returns true if both colors are equal. First color to compare. Second color to compare. Returns true if o1 is bigger than o2. Assigns this instance to a system color. Assigns a system color to this instance. Returns true if both colors do not have the same value. First color to compare. Second color to compare. Returns true if o1 is less than o2. Red component in the RGB space. Color Saturation. (between 0 and 1) Returns a system color from this instance. This method is only needed in Visual Basic, in C# you can just assign the HslColor to the Color: Color myColor = hslColor; Is the same as: Color myColor = hslColor.ToColor(); Converts between Color structs and HTML values. Returns an HTML color string from a Color struct. The color we want to convert. String with color on HTML format. (one of the 16 named colors or #notation). Returns a Color struct from an HTML string String with color on HTML format. (one of the 16 named colors or #notation) The corresponding Color. Contains a list of HTML entities and their values Converts a normal string into a string that can be used inside an HTML file. This includes converting characters to entities, replacing carriage returns by <br> tags, replacing multiple spaces by nbsp and more. EnterStyle is TEnterStyle.Br if omitted. String we want to convert. Version of html we are targeting. In Html 4 <br> is valid and <br/> is not. In XHtml the inverse is true. Code page used to encode the string. Normally this is UTF-8 Converts a normal string into a string that can be used inside an HTML file. This includes converting characters to entities, replacing carriage returns by <br> tags, replacing multiple spaces by nbsp and more. EnterStyle is TEnterStyle.Br if omitted. String we want to convert. Version of html we are targeting. In Html 4 <br> is valid and <br/> is not. In XHtml the inverse is true. How to convert enters and multiple spaces in the text. Code page used to encode the string. Normally this is UTF-8 Returns the identifier of a tag. String containing the tag. Position of the open "<" The tag name. Returns the maximum length for a name. This includes decimal entities, that can have up to 7 numbers. Converts an Html entity like "amp" into the unicode code for the character. The input string can also be a # code, in decimal or hexadecimal. (for example &#64). Name of the entity without the starting "&" and the trailing ";" Unicode representation of the entity. True if the code exists, false otherwise. How the html page will be saved. File will be saved as an html file with external images. File will be saved in MHTML (Mime HTML) file format with all the data inside a single file. This format is the one used to encode emails. Defines special fixes to the generated files to workaround browser bugs. True if both objects are equal. Hash code for the struct. hashcode. By default, Internet explorer does not support transparent PNGs. Normally this is not an issue, since Excel does not use much transparency. But if you rely on transparent images and don't want to use gif images instead of png, you can set this property to true. It will add special code to the HTML file to support transparent images in IE6. Outlook 2007 renders HTML worse than previous versions, since it switched to the Word 2007 rendering engine instead of Internet Explorer to show HTML emails. If you apply this fix, some code will be added to the generated HTML file to improve the display in Outlook 2007. Other browsers will not be affected and will still render the original file. Turn this option on if you plan to email the generated file as an HTML email or to edit them in Word 2007. Note that the pages will not validate with the w3c validator if this option is on. Some older browsers (and Word 2007) might not support the CSS white-space tag. In this case, if a line longer than a cell cannot be expanded to the right (because there is data in the next cell) it will wrap down instead of being cropped. This fix will cut the text on this cell to the displayable characters. If a letter was displayed by the half on the right, after applying this fix it will not display. This fix is automatically applied when is selected, so there is normally no reason to apply it. You might get a smaller file with this fix (if you have a lot of hidden text), but the display will not be as accurate as when it is off, so it is recomended to keep it off. An Html string parsed into a C# string and tags. Creates a new empty THtmlParsedString. Creates a new THtmlParsedString containing an existing Html string. Html string we want to parse. Parses an Html string and fills this instance with the parsed values. Html string we want to parse. A list of the tags on the parsed string. The parsed html text. This class has information for a error. Look at for more information. Creates a new instance. See See File with the sharing violation. Defines the way html is generated. Only HTML 3.2 tags (like <b>) will be used. Cascading style sheets will be used. Contains an HTML tag and its position on the string. Creates a new instance of a Tag. Position of the final string where the tag is. Text of the tag. (not including brackets) Position of this tag inside the converted string. (the string without tags) The tag text. Creates html tags for different actions, and depending on the HTML style. Returns a tag to end changing a font color that was started with Specifies if to use css or not. Returns a tag to change the font color. Remember to close it with Color to use. Style of the generated HTML. Defines the HTML version that will be used when exporting. The HTML generated will be 4.01 strict. See http://www.w3.org/TR/html401/ HTML generated will be XHTML 1.0. See http://www.w3.org/TR/xhtml1/ Html generated will be compatible with 3.2, and not have any CSS applied. Useful for when you want simple html markup and don't worry too much about exact looking. Many properties in FlexCelHtmlExport (like ie6 transparent png support) will be ignored in this mode. An encapsulation of an Excel hyperlink. Creates a new instance of an Hyperlink class. Creates a new instance of an Hyperlink class. The type of hyperlink: to a local file, to an url, to a cell or to a networked file. Text of the HyperLink. This is empty when linking to a cell. Description of the HyperLink. When entering an URL on excel, you can enter additional text following the url with a "#" character (for example www.your_url.com#myurl") The text Mark is the text after the "#" char. When entering an address to a cell, the address goes here too. This parameter is not documented. You can leave it empty. Returns a copy of the hyperlink. Description of the HyperLink. Hint when the mouse hovers over the hyperlink. The type of hyperlink: to a local file, to an url, to a cell or to a networked file. This parameter is not documented. You will probably leave it empty. Text of the HyperLink. This is empty when linking to a cell. When entering an URL, you can enter additional text following the url with a "#" character (for example www.your_url.com#myurl") The text Mark is the text after the "#" char. When entering an address to a cell, the address goes here too. Possible types of cell hyperlinks. Web, file or mail URL. (like http://, file://, mailto://, ftp://) A file on the local disk. Not an url or unc file. Universal Naming convention. For example: \\server\path\file.ext An hyperlink inside the current file. Defines how images will be automatically named by FlexCel, when you do not supply a better name. The image will be named using standard naming, in a format similar to "filename_image_n.png" The image will be named using a GUID. This ensures that any image will be unique even if you have many users requesting the same file at the same time. (Default naming will use the same name for all the users, so images would be overwritten). As a downside, everytime an image is called a new file will be created, so you can get a lot of images just from an user refreshing a page. Image information for a normal image. Creates a new empty TImageProperties instance. This method will create a new copy of aAnchor, so you can modify it later. Anchor. It will be copied here. Filename of the image, for saving the info on the sheet. Mostly unused. This method will create a new copy of aAnchor, so you can modify it later. Anchor. It will be copied here. Filename of the image, for saving the info on the sheet. Mostly unused. Shape name as it will appear on the names combo box. This method will create a new copy of aAnchor and aCropArea, so you can modify it later. Anchor. It will be copied here. Filename of the image, for saving the info on the sheet. Mostly unused. Name of the shape, as it appears on the names combobox. Set it to null to not add an imagename. Crop area for the image. Alternative Text. This is the same as the "Alt Text" tab in the properties dialog for the image, and is used when exporting to HTML. Image position Performs a deep copy of the object. An TImageProperties class that is a copy of this instance, but has a different ClientAnchor. So you can change the new ClientAnchor without modifying this one. Returns a COPY of the class with its coords decremented by 1. Returns true if both instances of the objects contain the same values. Instances might be different, this method will return if their values are equal. Instances can be null. First instance to compare. Second instance to compare. Returns a COPY of the class with its coords incremented by 1. Name of the image. It sets/gets the name of the shape for the image as you can see it on the names combobox. If you set it to null Excel will show a generic name, like "Picture 31" Data of an implemented formula function. Creates a new TImplementedFunction with supplied values. Formula ID Formula Name Minimum argument count for the function. Maximum argument count for the function. Formula Name. Formula ID. (Excel specific) Maximum argument count for the function. Minimum argument count for the function. Holds a list of currently implemented formula functions on FlexCel. Creates and initializes a list with all implemented functions. Creates a serialized object. Implements a simple representation of a color in CIE-L*a*b* colorspace. This colorspace is mostly used for finding distances between colors. Creates a new instance from a system color. a* Blue component in the RGB space. b* Returns the CMC color distance between this color and color2 (distance returned is squared, so you need to get the sqrt if you want the real CMC value). Note that CMC is not symetric (Color1.CMC(Color2) != Color2.CMC(Color1), so this color is the one used as reference. Color that will be compared against this reference. L parameter for CMC calculation. For acceptability (CMC2:1) this is normally 2, and for perceptibility (CMC1:1) this should be 1. C parameter for CMC calculation. This is normally 1. Returns -1 if obj is more than color, 0 if both colors are the same, and 1 if obj is less than color. Returns the euclidean distance squared (DeltaE CIE 1976 squared) between this color and other color. Returns true if both colors are the same. Green component in the RGB space. Returns a hashcode for the color. L* (Lightness) (Between 0 and 100) Returns true if both colors are equal. First color to compare. Second color to compare. Returns true if o1 is bigger than o2. Assigns this instance to a system color. Assigns a system color to this instance. Returns true if both colors do not have the same value. First color to compare. Second color to compare. Returns true if o1 is less than o2. Red component in the RGB space. Returns a system color from this instance. This method is only needed in Visual Basic, in C# you can just assign the LabColor to the Color: Color myColor = labColor; Is the same as: Color myColor = labColor.ToColor(); Defines what information a DataLabel should show. This label has a manually entered value. This label shows the values and/or categories of the series. Description of one particular entry on the Legend box. Creates a new TLegendEntryOptions instance. See See Returns a deep copy of this object. If true, this series has been deleted from the legend box, and it should not be displayed. Font to use on this particular entry. If null, the default font for the legend box should be used. A list of options for the legend on the whole series and for specific data points inside these series. Creates a new TLegendOptionsList instance. Adds a new option to the list. If the option is null, nothing will be done. Point where this value applies. -1 means the whole series. Options to add. Gets the enumerator for this class. Gets all the values of the series. Gets or sets the value for a data point or for the whole series (when key = -1). Describes an arrow at the end of a line. This struct is immutable. Returns -1, 0 or 1 depending if the objects is smaller, equal or bigger than the other. Returns true if both objects are the same. Returns the hashcode for the object. Length of the arrow. Returns a shared instance with no arrow. Style of the arrow. Width of the arrow. How the line ends. Line ends at end point. Rounded ends. Semi-circle protrudes by half line width. Square protrudes by half line width. Options specific for a Line chart. Creates a new TLineChartOptions instance. of the chart. True if the chart lines have shadows. If false, all series will be the same color. Z-Order of this chart group, with 0 being the bottom. Chart groups with lower z-Order are drawn below the ones with higher ones. Axis where this chart group belongs, 0 is primary, 1 is secondary. Global options that apply to all the series on this group. This instance will be copied. Plot area fill and line style for this group. Drop bars and lines information. This value will be copied. Default label properties for labels in this group. Line style (dashes, solid, etc). Solid (continuous) pen. PS_DASH system dash style. PS_DOT system dash style. PS_DASHDOT system dash style. PS_DASHDOTDOT system dash style. square dot style. dash style. long dash style. dash short dash. long dash short dash. longg dash short dash short dash. How a line joins with the next Bevel. Miter. Round. Definition for a Drawing line style. Creates a simple line with most values by default, including default width. Creates a simple line with most values by default. Initializes the line style. Returns a deep copy of the fill style. Returns -1, 0 or 1 depending if the object is smaller, equal or bigger than the other. Compound line style. If null, default from the theme will be used. Line dashing. If null, default from the theme will be used. Default line width. Returns true if this instance has the same data as the object obj. Line color and/or fill. Returns the hashcode for this object Head arrow if it has one. If null, default from the theme will be used. How the line joins with the next. If null, default from the theme will be used. How the line ends. If null, default from the theme will be used. Specifies the alignment to be used for the underline stroke. If null, default from the theme will be used. Tail arrow if it has one. If null, default from the theme will be used. Width of the line in EMUs (1 pt = 12700 EMUs). If null, width of the theme will be used. Represents the line style characteristics. Creates a new instance. Adds a new LineStyle to the collection. Line styles must be added in order, first is "Subtle", second is "Moderate", third is "Intense" and there could be new definitions in newer versions of Excel. Line style to add. Returns a deep copy of the object. Count of line styles. Returns the line color that results from applying the formatting type to a color. Index to the collection. Color that will be used as a base to calculate the fill style. Returns the line style for a given formatting type. Currently Excel defines only 3 formatting types, but more could be added in the future. If you need to access a formatting type that is not defined in the enumeration, just cast an integer to TFormattingType. This class is used as a part of a class, and stores how a cell format is linked to a style. Initializes a new instance of the class Copies a new style into this object. Style with the values to copy. When this property is true (the default) FlexCel will automatically choose which linked properties to apply depending on what changes from the base style. For example, if this style has a different font than the basic style, the font will be not linked, and when you change the base style it will keep the same. Excel behaves this way when it adds styles. To manually choose what the format will affect, set this to none. This property doesn't correspond with any Excel property, and it is not stored in the file. Returns a deep copy of the object. A deep copy of the style. (without any references in common with the original object) Returns true if obj and this object have the same value. Object to compare. Returns a hashcode for this object. If true, the alignment will be linked to the parent style, and it will change when you change the style. If false the alignment not change even if you change it in the base style. Note that this property has no effect unless is false. If true, the border will be linked to the parent style, and it will change when you change the style. If false the border will not change even if you change it in the base style. Note that this property has no effect unless is false. If true, the fill pattern will be linked to the parent style, and it will change when you change the style. If false the fill pattern will not change even if you change it in the base style. Note that this property has no effect unless is false. If true, the font will be linked to the parent style, and it will change when you change the style. If false the font will not change even if you change it in the base style. Note that this property has no effect unless is false. If true, the numeric format will be linked to the parent style, and it will change when you change the style. If false the numeric format will not change even if you change it in the base style. Note that this property has no effect unless is false. If true, the protection will be linked to the parent style, and it will change when you change the style. If false the protection will not change even if you change it in the base style. Note that this property has no effect unless is false. Returns true if the 2 instances have the same data. Style with which we want to compare. True if otherStyle has the same values as this object. Specifies to which object the label is linked to. Not used. It means the label is not linked. This is the chart title. This is the caption for the Y-Axis. This is the caption for the X-Axis. This is a Data Label, linked to a series or a point in the series. This is the caption for the Z-Axis. Types of selection allowed in a listbox. The list control is only allowed to have one selected item. The list control is allowed to have multiple items selected by clicking on each item. The list control is allowed to have multiple items selected by holding the CTRL key and clicking on each item. This class has information for a error. Look at for more information. Creates a new instance. See See Malformed url. A simple class used to create MIME formatted messages. While it does not provide much functionality, it gives enough to create simple multipart archives. Initializes a new instance of the class Adds the header for a part in a multipart Mime message. After calling this method, you need to write your data content into the TextWriter using or and after that always call . TextWriter where you are saving the message. Type of the header as defined in the MIME standard, e.g. "text/plain", "text/html", etc. How the part will be codified. Use base64 for binarty TextWriter and quotedprintable for text. The location for this resource. null if you do not want to set a location. Content id of the resource, if you want to use it in cid: links. Null if you do not want to specify a content-id. Note that this string will not be escaped by the framework, so make sure it contains valid characters. As it needs to be globally unique, normally a GUID can be a good option here. Name for the encoding on this part. Null means do not write an encoding. (for example in binary parts) Creates the headers for a multipart MIME file. This must be the first method to call in order to create a MIME file. After this, you need to call and start adding the parts of the message, and you always need to end the message by calling . Type of multipart for this file. Type of the header as defined in the MIME standard, e.g. "text/plain", "text/html", etc. This is the type of the main part on a related message. Set it to null if there is no main part. The location for the whole mime file. null if you do not want to set a location. for this to work in ie/opera, etc, this should be something like "file:///filename.ext" Call this method after the last call to EndPart, to finish the MIME message. Ends a MIME part started with . TextWriter where you are saving the message. Returns the Q-encode of a string, used in the MIME Headers. //RFC 2047 String to encode Defines if to add the string "=?charset?encoding?" will be appended at the begining, and "?=" at the end. Writes the base64 encoding of a byte array, as defined in RFC 2045 section 6.8 This method does not keep the state, so all binary data must be supplied at once. As an alternative you could use , but this method avoids creating a temporary string, and then doubling the memory needed for the encoding. This method will also correctly split the string at 76 characters, while Convert.ToBase64 in .NET 1.1 will not. (2.0 added this support) TextWriter where we will write the data. String to Encode. Writes the Quoted Printable encoding of a string, as defined in RFC 2045 section 6.7 This method keeps state and breaks the line every time it is longer than 76 characters. The state is reset each time is called. TextWriter where we will write the data. String to Encode. Different ways to define a multipart arcvhive. Parts inside this container are related, for example this message could contain an HTML file and its external images. Parts inside this container ara an alternative one form the other. For example, a message could be sent in HTML and plain Text, once inside a different MIME part, and the mail reader should chose the best alternative of the parts to display. Parts inside this MIME container are not related, e.g. different attachments. A compilation of messages, used in forwarded emails. A part containing files and one signature. There is no fill associated with the shapes. Creates a new TNoFill instance. Returns true if this instance has the same data as the object obj. Returns the hashcode for this object Holds the properties for an object. Creates a new empty instance. This method will create a new copy of aAnchor, so you can modify it later. Anchor. It will be copied here. This method will create a new copy of aAnchor, so you can modify it later. Anchor. It will be copied here. Shape name for the object, as it will appear on the names combo box. This method will create a new copy of aAnchor, so you can modify it later. Anchor. It will be copied here. Name of the shape, as it appears on the names combobox. Set it to null to not add an imagename. Propertied of the text in the object. Specifies if the object is locked. If true, the object will autosize to hold the text. Returns true if both instances of the objects contain the same values. Instances might be different, this method will return if their values are equal. Instances can be null. First instance to compare. Second instance to compare. Internal use. Internal use. Internal use. Internal use. Internal use. Internal use. Internal use. Internal use. Internal use. Linestyle for the comment. Fill style used to fill the background of the comment. If you are using a solid color, only Indexed colors or RGB are allowed here, if you specify something else, the color will be converted to RGB. It might be a gradient fill or a texture too. If null, default fill style will be used. Specifies properties for the text in an autoshape or object. Creates a new instance and sets its values to defaults. Creates a new instance and sets its values. Creates a new object that is a copy of the current instance. Returns true if both instances of the objects contain the same values. Instances might be different, this method will return if their values are equal. Instances can be null. First instance to compare. Second instance to compare. Horizontal alignment for the text in the object. Specifies if the text of the object is locked. Determines how the text is orientated in the object. Horizontal alignment for the text in the object. A type of object. Do not confuse this with a type of shape ( ) This does not describe the shape form (like if it is a rectangle or a circle) but the shape kind (for example if it is a comment, an image or an autoshape) Unknown object type. An image inserted on Excel Operators that can be found inside a formula No operator - % ^ * / + - & greater or equal less or equal Not equal = less than greater than Unary plus. Position on a pane when window is split Lower-right corner. Upper-right corner. Lower-left corner. Upper left corner. This is the default when you have only one pane. Dimensions of an Excel paper Creates a new TPaperDimensions instance. Excel standard papersize. Creates a new TPaperDimensions instance. A string identifying the paper name Width in inches/100 Height in inches/100 Paper height in inches/100 Converts inches/100 to millimeters Value in inches/100 Value in millimeters Converts millimeters to inches/100 Value in millimeters Value in inches/100 Paper Name. Paper width in inches/100 Pre-defined Page sizes. For Printer specific page-sizes, see Note that a printer specific page size might have a value that is not on this enumeration. Not defined. Letter - 81/2"" x 11"" Letter small - 81/2"" x 11"" Tabloid - 11"" x 17"" Ledger - 17"" x 11"" Legal - 81/2"" x 14"" Statement - 51/2"" x 81/2"" Executive - 71/4"" x 101/2"" A3 - 297mm x 420mm A4 - 210mm x 297mm A4 small - 210mm x 297mm A5 - 148mm x 210mm B4 (JIS) - 257mm x 364mm B5 (JIS) - 182mm x 257mm Folio - 81/2"" x 13"" Quarto - 215mm x 275mm 10x14 - 10"" x 14"" 11x17 - 11"" x 17"" Note - 81/2"" x 11"" Envelope #9 - 37/8"" x 87/8"" Envelope #10 - 41/8"" x 91/2"" Envelope #11 - 41/2"" x 103/8"" Envelope #12 - 43/4"" x 11"" Envelope #14 - 5"" x 111/2"" C - 17"" x 22"" D - 22"" x 34"" E - 34"" x 44"" Envelope DL - 110mm x 220mm Envelope C5 - 162mm x 229mm Envelope C3 - 324mm x 458mm Envelope C4 - 229mm x 324mm Envelope C6 - 114mm x 162mm Envelope C6/C5 - 114mm x 229mm B4 (ISO) - 250mm x 353mm B5 (ISO) - 176mm x 250mm B6 (ISO) - 125mm x 176mm Envelope Italy - 110mm x 230mm Envelope Monarch - 37/8"" x 71/2"" 63/4 Envelope - 35/8"" x 61/2"" US Standard Fanfold - 147/8"" x 11"" German Std. Fanfold - 81/2"" x 12"" German Legal Fanfold - 81/2"" x 13"" B4 (ISO) - 250mm x 353mm Japanese Postcard - 100mm x 148mm 9x11 - 9"" x 11"" 10x11 - 10"" x 11"" 15x11 - 15"" x 11"" Envelope Invite - 220mm x 220mm Letter Extra - 91/2"" x 12"" Legal Extra - 91/2"" x 15"" Tabloid Extra - 1111/16"" x 18"" A4 Extra - 235mm x 322mm Letter Transverse - 81/2"" x 11"" A4 Transverse - 210mm x 297mm Letter Extra Transv. - 91/2"" x 12"" Super A/A4 - 227mm x 356mm Super B/A3 - 305mm x 487mm Letter Plus - 812"" x 1211/16"" A4 Plus - 210mm x 330mm A5 Transverse - 148mm x 210mm B5 (JIS) Transverse - 182mm x 257mm A3 Extra - 322mm x 445mm A5 Extra - 174mm x 235mm B5 (ISO) Extra - 201mm x 276mm A2 - 420mm x 594mm A3 Transverse - 297mm x 420mm A3 Extra Transverse - 322mm x 445mm Dbl. Japanese Postcard - 200mm x 148mm A6 - 105mm x 148mm Letter Rotated - 11"" x 81/2"" A3 Rotated - 420mm x 297mm A4 Rotated - 297mm x 210mm A5 Rotated - 210mm x 148mm B4 (JIS) Rotated - 364mm x 257mm B5 (JIS) Rotated - 257mm x 182mm Japanese Postcard Rot. - 148mm x 100mm Dbl. Jap. Postcard Rot. - 148mm x 200mm A6 Rotated - 148mm x 105mm B6 (JIS) - 128mm x 182mm B6 (JIS) Rotated - 182mm x 128mm 12x11 - 12"" x 11"" Enumerates the different gradient modes for a Path gradient. Gradient follows the shape. Gradient follows a circular path. Gradient follows a rectangular path. Shapes are filled with a texture. Creates a new Pattern fill. Background color of a Pattern fill. Returns -1 if obj is bigger than this, 0 if both objects are the same, and 1 if obj is smaller than this. Returns true if this instance has the same data as the object obj. Foreground color of a pattern fill. Returns the hashcode for this object Type of hatching. This class has information for a error. Look at for more information. Creates a new instance. See See Font file that FlexCel couldn't parse. This class has information for a error. Look at for more information. Creates a new instance. See See See Name of the font that doesn't contain Italics or bold definition. Style missing from the font. This class has information for a error. Look at for more information. Creates a new instance. See See See Font that was not found. Font that was used to replace . This class has information for a error. Look at for more information. Creates a new instance. See See See Font that doesn't contain the character. Character missing in the font. This class has information for a error. Look at for more information. Creates a new instance. See See See Font that should be used, but that doesn't contain the needed characters. Fallback font that substituted . Specifies the alignment to be used for the underline stroke. Center pen (line drawn at center of path stroke). Inset pen (the pen is aligned on the inside of the edge of the path). Options specific for a Pie chart. Creates a new TPieChartOptions instance. If false, all series will be the same color. Z-Order of this chart group, with 0 being the bottom. Chart groups with lower z-Order are drawn below the ones with higher ones. Angle of the first slice in degrees. It can go from 0 to 359. Radius of the center of the donut in Percet. 0 Means a Pie without hole. True if the chart lines have shadows. True if there are lines from the slices to the labels. Axis where this chart group belongs, 0 is primary, 1 is secondary. Global options that apply to all the series on this group. This instance will be copied. Plot area fill and line style for this group. Line style for the leader lines, only has meaning if is true. This value will be copied. Default label properties for labels in this group. Radius of the center of the donut in Percet. 0 Means a Pie without hole. Angle of the first slice in degrees. It can go from 0 to 359. True if the chart lines have shadows. True if there are lines from the slices to the labels. Line style for the leader lines, only has smeaning if is true. Pitch family for a font. DEFAULT PITCH + UNKNOWN FONT FAMILY FIXED PITCH + UNKNOWN FONT FAMILY VARIABLE PITCH + UNKNOWN FONT FAMILY DEFAULT PITCH + ROMAN FONT FAMILY FIXED PITCH + ROMAN FONT FAMILY VARIABLE PITCH + ROMAN FONT FAMILY DEFAULT PITCH + SWISS FONT FAMILY FIXED PITCH + SWISS FONT FAMILY VARIABLE PITCH + SWISS FONT FAMILY DEFAULT PITCH + MODERN FONT FAMILY FIXED PITCH + MODERN FONT FAMILY VARIABLE PITCH + MODERN FONT FAMILY DEFAULT PITCH + SCRIPT FONT FAMILY FIXED PITCH + SCRIPT FONT FAMILY VARIABLE PITCH + SCRIPT FONT FAMILY DEFAULT PITCH + DECORATIVE FONT FAMILY FIXED PITCH + DECORATIVE FONT FAMILY VARIABLE PITCH + DECORATIVE FONT FAMILY Defines how empty cells will be plotted in the chart. The cell will not be plotted. There will be a gap in the chart. The cell will be plotted with value = 0. The cell will be plotted with value interpolated between its nearest points. Represents a point on X,Y coordinates. We used instead of System.Drawing.Point because we do not want references to System.Drawing (because .NET 3.0 applications do not need GDI+) Creates a new point. Coordinates for the X value. Coordinates for the Y value. True if both objects are equal. Hash code for the point. hashcode. X coord. Y coord. PointF is not supported in CF, so this is an equivalent Creates a new Point. X coord. Y coord. True if both objects are equal. Hash code for the point. hashcode. String with both coordinates. X coord. Y coord. Preset colors. Color is not specified. Specifies a color with RGB value (240,248,255) Specifies a color with RGB value (250,235,215) Specifies a color with RGB value (0,255,255) Specifies a color with RGB value (127,255,212) Specifies a color with RGB value (240,255,255) Specifies a color with RGB value (245,245,220) Specifies a color with RGB value (255,228,196) Specifies a color with RGB value (0,0,0) Specifies a color with RGB value (255,235,205) Specifies a color with RGB value (0,0,255) Specifies a color with RGB value (138,43,226) Specifies a color with RGB value (165,42,42) Specifies a color with RGB value (222,184,135) Specifies a color with RGB value (95,158,160) Specifies a color with RGB value (127,255,0) Specifies a color with RGB value (210,105,30) Specifies a color with RGB value (255,127,80) Specifies a color with RGB value (100,149,237) Specifies a color with RGB value (255,248,220) Specifies a color with RGB value (220,20,60) Specifies a color with RGB value (0,255,255) Specifies a color with RGB value (255,20,147) Specifies a color with RGB value (0,191,255) Specifies a color with RGB value (105,105,105) Specifies a color with RGB value (0,0,139) Specifies a color with RGB value (0,139,139) Specifies a color with RGB value (184,134,11) Specifies a color with RGB value (169,169,169) Specifies a color with RGB value (0,100,0) Specifies a color with RGB value (189,183,107) Specifies a color with RGB value (139,0,139) Specifies a color with RGB value (85,107,47) Specifies a color with RGB value (255,140,0) Specifies a color with RGB value (153,50,204) Specifies a color with RGB value (139,0,0) Specifies a color with RGB value (233,150,122) Specifies a color with RGB value (143,188,139) Specifies a color with RGB value (72,61,139) Specifies a color with RGB value (47,79,79) Specifies a color with RGB value (0,206,209) Specifies a color with RGB value (148,0,211) Specifies a color with RGB value (30,144,255) Specifies a color with RGB value (178,34,34) Specifies a color with RGB value (255,250,240) Specifies a color with RGB value (34,139,34) Specifies a color with RGB value (255,0,255) Specifies a color with RGB value (220,220,220) Specifies a color with RGB value (248,248,255) Specifies a color with RGB value (255,215,0) Specifies a color with RGB value (218,165,32) Specifies a color with RGB value (128,128,128) Specifies a color with RGB value (0,128,0) Specifies a color with RGB value (173,255,47) Specifies a color with RGB value (240,255,240) Specifies a color with RGB value (255,105,180) Specifies a color with RGB value (205,92,92) Specifies a color with RGB value (75,0,130) Specifies a color with RGB value (255,255,240) Specifies a color with RGB value (240,230,140) Specifies a color with RGB value (230,230,250) Specifies a color with RGB value (255,240,245) Specifies a color with RGB value (124,252,0) Specifies a color with RGB value (255,250,205) Specifies a color with RGB value (0,255,0) Specifies a color with RGB value (50,205,50) Specifies a color with RGB value (250,240,230) Specifies a color with RGB value (173,216,230) Specifies a color with RGB value (240,128,128) Specifies a color with RGB value (224,255,255) Specifies a color with RGB value (250,250,120) Specifies a color with RGB value (211,211,211) Specifies a color with RGB value (144,238,144) Specifies a color with RGB value (255,182,193) Specifies a color with RGB value (255,160,122) Specifies a color with RGB value (32,178,170) Specifies a color with RGB value (135,206,250) Specifies a color with RGB value (119,136,153) Specifies a color with RGB value (176,196,222) Specifies a color with RGB value (255,255,224) Specifies a color with RGB value (255,0,255) Specifies a color with RGB value (128,0,0) Specifies a color with RGB value (102,205,170) Specifies a color with RGB value (0,0,205) Specifies a color with RGB value (186,85,211) Specifies a color with RGB value (147,112,219) Specifies a color with RGB value (60,179,113) Specifies a color with RGB value (123,104,238) Specifies a color with RGB value (0,250,154) Specifies a color with RGB value (72,209,204) Specifies a color with RGB value (199,21,133) Specifies a color with RGB value (25,25,112) Specifies a color with RGB value (245,255,250) Specifies a color with RGB value (255,228,225) Specifies a color with RGB value (255,228,181) Specifies a color with RGB value (255,222,173) Specifies a color with RGB value (0,0,128) Specifies a color with RGB value (253,245,230) Specifies a color with RGB value (128,128,0) Specifies a color with RGB value (107,142,35) Specifies a color with RGB value (255,165,0) Specifies a color with RGB value (255,69,0) Specifies a color with RGB value (218,112,214) Specifies a color with RGB value (238,232,170) Specifies a color with RGB value (152,251,152) Specifies a color with RGB value (175,238,238) Specifies a color with RGB value (219,112,147) Specifies a color with RGB value (255,239,213) Specifies a color with RGB value (255,218,185) Specifies a color with RGB value (205,133,63) Specifies a color with RGB value (255,192,203) Specifies a color with RGB value (221,160,221) Specifies a color with RGB value (176,224,230) Specifies a color with RGB value (128,0,128) Specifies a color with RGB value (255,0,0) Specifies a color with RGB value (188,143,143) Specifies a color with RGB value (65,105,225) Specifies a color with RGB value (139,69,19) Specifies a color with RGB value (250,128,114) Specifies a color with RGB value (244,164,96) Specifies a color with RGB value (46,139,87) Specifies a color with RGB value (255,245,238) Specifies a color with RGB value (160,82,45) Specifies a color with RGB value (192,192,192) Specifies a color with RGB value (135,206,235) Specifies a color with RGB value (106,90,205) Specifies a color with RGB value (112,128,144) Specifies a color with RGB value (255,250,250) Specifies a color with RGB value (0,255,127) Specifies a color with RGB value (70,130,180) Specifies a color with RGB value (210,180,140) Specifies a color with RGB value (0,128,128) Specifies a color with RGB value (216,191,216) Specifies a color with RGB value (255,99,71) Specifies a color with RGB value (64,224,208) Specifies a color with RGB value (238,130,238) Specifies a color with RGB value (245,222,179) Specifies a color with RGB value (255,255,255) Specifies a color with RGB value (245,245,245) Specifies a color with RGB value (255,255,0) Specifies a color with RGB value (154,205,50) Printer specific settings. It is a byte array with a Win32 DEVMODE struct. Creates a new instance of a TPrinterDriverSettings class, with a COPY of aData Returns true if two instances have the same data. The current printer data as a byte stream. The first 2 bytes are the operating system (0=windows) and the rest is a Win32 DEVMODE struct. Returns the hashcode for this instance. Returns true if both objects are equal. Note this is for backwards compatibility, this is a class and not immutable, so this method should return true if references are different. But that would break old code. Returns true if both objects do not have the same value. Note this is for backwards compatibility, this is a class and not immutable, so this method should return true if references are different. But that would break old code. How the sheet should be printed. You can mix value together by and'ing and or'ing the flags. See the example to see how to set or clear one specific value of the enumeration. All options cleared. Print over, then down 0= landscape, 1=portrait if 1, then PaperSize, Scale, Res, VRes, Copies, and Landscape data have not been obtained from the printer, so they are not valid. MAKE SURE YOU MAKE THIS BIT = 0 *BEFORE* CHANGING ANY OTHER OPTION. THEY WILL NOT CHANGE IF THIS IS NOT SET. 1= Black and white 1= Draft quality 1= Print Notes 1=orientation not set 1=use custom starting page number. Standard properties of an ole file. There are two different sets of properties, the standard ones (properties that exist for any file) and the extended ones (properties that exist for Ms Office documents) This is not a valid property. It will do nothing. Document Title. (Standard property) Document Subject. (Standard property) Author. (Standard property) Keywords. (Standard property) Comments. (Standard property) Template. (Standard property) Last user to save the file. (Standard property) Revision number. (Standard property) Total editing time. (Standard property) Last printed date. (Standard property) Date of created. (Standard property) Date last saved. (Standard property) Number of pages. (Standard property) Number of words. (Standard property) Number of characters. (Standard property) Thumbnail image. (Standard property) Application that created the file. (Standard property) Security. (Standard property) A text string typed by the user that indicates what category the file belongs to (memo, proposal, and so on). It is useful for finding files of same type. (Extended property) Target format for presentation (35mm, printer, video, and so on). (Extended property) Number of bytes. (Extended property) Number of lines. (Extended property) Number of paragraphs. (Extended property) Number of slides. (Extended property) Number of pages that contain notes. (Extended property) Number of slides that are hidden. (Extended property) Number of sound or video clips. (Extended property) Set to True (-1) when scaling of the thumbnail is desired. If not set, cropping is desired. (Extended property) Internally used property indicating the grouping of different document parts and the number of items in each group. The titles of the document parts are stored in the TitlesofParts property. The HeadingPairs property is stored as a vector of variants, in repeating pairs of VT_LPSTR (or VT_LPWSTR) and VT_I4 values. The VT_LPSTR value represents a heading name, and the VT_I4 value indicates the count of document parts under that heading. (Extended property) Names of document parts. (Extended property) Manager of the project. (Extended property) Company name. (Extended property) Boolean value to indicate whether the custom links are hampered by excessive noise, for all applications. (Extended property) Specifies a protected range in a sheet. You can define those ranges in Excel 2007 by going to "Review" tab and selecting "Allow Users to Edit Ranges" In Excel 2003, they are available under "Menu->Tools->Protection". Creates an empty protected range. Creates and initializes a protected range. Name for the protected range. Password to modify the cells. Keep it null if you don't want to set a password. Ranges of cells where this protected range applies. You might pass an array of TXlsCellRanges here or just a single TXlsCellRange object. Returns a deep copy of the object. Name of the protected range. Password used to protect the range. Use empty or null to have no password. Note: As this password is not saved in the file, when you open a file this property will be empty. You can know if a file has a password by looking at . Setting this property will clear the property. This is the hash for the password that is stored in the file.You shouldn't set this property directly unless you are copying the hash from other place. When you set this property, will be reset. Ranges of cells this protection applies to. You can specify more than one range of cells for the same ProtectedRange. A list of protected ranges where the user can edit a protected sheet. Creates a new TProtectedRangeList object. Adds a new Protected range to the list. Range to add. Clears the list. Number of protected ranges in the list. The range at position "index" (0 based). This method returns a copy of the range. Encryption data for an Excel sheet. Encryption algorithm for xlsx files. Encryption mode for xls files . Reads the protection options for the change history. Return the sheet protection options for the file. Reads the Workbook protection options for a file. Returns true if the file has a password to modify. Returns true if the change history is protected with a password. Returns true if the active sheet is protected with a password. Returns true if the workbook is protected with a password. It is called when opening a password protected file, so you can supply the correct password. If you know beforehand that the file is protected you do not need this event, just use the method on this object. Sets the password to open the file. When set, the file will be encrypted. On Excel go to Options->Security to check it. Set this to null to clear it. Returns true if the file is recommended to open read-only. Sets the password for modifying the file. It won't encrypt the file, it just won't let Excel save the file. On Excel goto Options->Security to check it. Note that you can only set it, there is no way to retrieve an existing password. The new password. Set it to null to clear it. When true, Excel will recommend read only when opening a file. The user that reserves the file. It will appear on the password dialog on Excel. Protects the change history from being removed. On Excel goto Protect->Protect Shared Workbook to check it. Password to protect this setting. You can set it to null to clear it. The options to protect. Sets the change history protection options for a file. Protection options. Protects a sheet. On Excel goto Protect->Sheet to check it. Password to protect the active sheet. You can set it to null to clear it. The options to protect. Sets the sheet protection options for the file. Protection options. Protects the workbook. On Excel goto Protect->Workbook to check it. Password to protect the file. You can set it to null to clear it. The options to protect. Sets the workbook protection options for a file. Workbook protection options. Reads or sets the user writing the file. Useful to know which user opened the file in Excel when you want to save and the file is in use. Indicates how a sheet will be protected. All things will be protected. Nothing will be protected. Defines how a string returned by Q-Encode will be handled. This will return the raw Q-Encoded string, without "=?charset?encoding?" at the beginning or "?=" at the end. This will always return the Q-Encoded string with "=?charset?encoding?" at the beginning and "?=" at the end. This will return the string with "=?charset?encoding?" only if the original string has special characters that need encoding, if not it will return the original string without encoding. What we do with the cells when we call InsertAndCopyRange. Will copy all (values, ranges, images, formulas, etc). Will copy all except values. Useful when you are going to replace those values anyway. Won't copy anything. Only inserts. Will copy all except values and objects (like images). Useful when you are going to replace those values anyway. Will copy all objects, including those that are marked as "do not copy" in the file. You will normally not want to use this. Will copy cell formatting, but not cell contents. Images and objects will be copied too. Operation between ranges. An union of the 2 ranges. The intersection of the 2 ranges. Creates a range from the Left-Top and Right-Bottom coordinates provided by the opearnds. Sets how the excel file will be recalculated. Normally FlexCel calculates a file only before saving and when you explicitly call . With this enum you can change that behavior. The file will be recalculated before saving, *only* if there are any changes on the file. This mode is the recommended, because it allows you to open and save a file (for example to remove a password) without modifying the formula results. If you modify any value on the sheet, a recalculation will be done to get the new values. The file will *always* be recalculated before saving. Use it if you are loading files that might not be recalculated, to make sure they will. If you open a not calculated file on Smart mode and then save it without modifying anything, it will remain not calculated. The file will *never* be recalculated by FlexCel (Except if you do a forced recalc: XlsFile.Recalc(true). All formula results will be set to null and formulas will be modified so Excel recalculates them when you open the file. If you are only using Excel to open the generated files the result will be the same as with a recalculated file, but if you try to open it with a viewer you won't see the formula results. You should not need to use manual recalculation. The only case where it might be useful is if you are setting the formula results yourself and don't want FlexCel to change them when it saves. The file will be recalculated each time a value changes on the sheet. Do not use this mode on normal files, as it can be really slow!! This option could be of use for an interactive viewer. Use this enumerator in the property to specify the reference mode that FlexCel will use when you enter formulas as text or when it returns the formula text. Standard A1 mode. Uses letters for the columns and numbers for the rows. R1C1 style. Uses numbers for both columns and rows. This class has information for a error. Look at for more information. Creates a new instance. See This class has information for a error. Look at for more information. Creates a new instance. See This class has information for a error. Look at for more information. Creates a new instance. See A string cell value with its rich text information. RTFRuns is an array of TRTFRun structures, where each struct identifies a font style for a portion of text. For example, if you have: Value = "Hello" RTFRuns = {FirstChar:1 FontIndex=1, FirstChar=3, FontIndex=2} "H" (char 0) will be formatted with the specific cell format. "el" (chars 1 and 2) will have font number 1 "lo" (chars 3 and 4) will have font number 2 Constructs an empty RichString. Constructs a RichString without formatting. Constructs a default RichString with text and RTF info. Cell Text Rich string with the RTF values to copy. This value will be COPIED, so old reference is not used How many characters the RTFRun must be moved. For example: RichString(s.SubString(3), RTFRuns, 3) will adapt the RTFRun for s to the new substring. Constructs a default RichString with text and RTF info. Cell Text Array of TRTFRuns structs. This value will be COPIED, so old reference is not used Workbook containing the fonts. Adds two richstrings together. If using C#, you can just use the overloaded "+" operator to contactenate rich strings. Returns a Deep copy of the Rich string. Returns true when both richstrings are equal. Returns a new TRichString from an HTML text. Note that only some tags from HTML are converted, the ones that do not have correspondence on Excel rich text will be discarded.Note: This method is for advanced uses only. Normally you would just use Html string we want to convert. Original format of the cell where we want to enter the string. Note that depending on the starting cell, the Rich string will be different. For example, if you have a cell with Red text and add a "hello <b> world" string, then resulting RichString will include a RED bold "world" string File where this string will be added. A TRichString containing the converted Html. Return the font for character i. index of the font. Hashcode for this richstring. Returns the character at position index. Length of the RichString. The count of Fonts on the richstring. Concatenates two TRichString objects. Be careful that formats will be preserved from s1 to s2. If s1 ends up in red, s2 will start with red too. If you want to avoid this, make sure s2 has a font definition at character 0. ALSO, MAKE SURE YOU ARE CONCATENATING RICH STRINGS FROM THE SAME WORKBOOK, SO FONT INDEXES ARE SIMILAR. First string to concatenate. Second string to concatenate. Returns true if both RichStrings are equal. Note this is for backwards compatibility, this is a class and not immutable, so this method should return true if references are different. But that would break old code. Converts a TRichstring to a string. Converts a string to a TRichstring. Returns true if both RichStrings do not have the same value. Note this is for backwards compatibility, this is a class and not immutable, so this method should return true if references are different. But that would break old code. Replaces all oldValue strings with newValue strings inside the RichString. (case sensitive) String to replace. String that will replace oldValue A new TRichString with all oldValues replaced with newValues. Replaces all oldValue strings with newValue strings inside the RichString. String to replace. String that will replace oldValue If true, it will not take car of case for the search. A new TRichString with all oldValues replaced with newValues. Trims all the whitespace at the end of the string. The trimmed string. A run of RTF. Index on the list. 0-Based. Number of RTF runs. Sets the rich string content from an HTML Formatted string. Note: This method is for advanced uses only. Normally you would just use String with the HTML data. Initial format of the cell where we want to enter the html string. ExcelFile where the cell is. Retrieves a substring from this instance. The substring starts at a specified character position and ends at the end of the string. Start of the substring (0 based) Retrieves a substring from this instance. The substring starts at a specified character position and has a specified length. Start of the substring (0 based) Number of characters to copy. Returns the rich string content as an HTML Formatted string. Note: This method is for advanced uses only. Normally you would just use Format of the cell where this string is. ExcelFile where the cell is. Specifies whether to use CSS or not. Version of the html returned. In XHTML, single tags have a "/" at the end, while in 4.0 they don't. Encoder used to return the string. Use UTF-8 for notmal cases. The string formatted as an HTML string. Returns the rich string content as an HTML Formatted string. Note: This method is for advanced uses only. Normally you would just use Format of the cell where this string is. ExcelFile where the cell is. Specifies whether to use CSS or not. Version of the html returned. In XHTML, single tags have a "/" at the end, while in 4.0 they don't. Encoder used to return the string. Use UTF-8 for notmal cases. Provide this parameter to customize what to do when different fonts are found in the string. The string formatted as an HTML string. Returns the string without Rich text info. Trims all the whitespace at the beginning and end of the string. The trimmed string. Text of the string without formatting. Might be null. One RTF run for the text in a cell. FirstChar is the first (base 0) character to apply the format, and FontIndex is the font index for the text Determines whether two TRTFRun instances are equal. The Object to compare with the current TRTFRun. true if the specified Object is equal to the current TRTFRun; otherwise, false. First character on the string where we will apply the font. (0 based) Font index for this string part. Gets a hashcode for the TRTFRun instance. hashcode. Determines whether two TRTFRun instances are equal. To be considered equal, they must have the same text and the same formatting. That is, fontindex and firstchar must be equal. First TRTFRun instance to compare. Second TRTFRun instance to compare. true if both objects have the same text and the same formatting. Determines whether two TRTFRun instances are different. To be considered equal, they must have the same text and the same formatting. That is, fontindex and firstchar must be equal. First TRTFRun instance to compare. Second TRTFRun instance to compare. Converts a TRTFRun array into a byte array for serialization. TRTFRun array Serialized byte array Converts a byte array into a TRTFRun array for serialization. Serialized byte array TRTFRun array Options specific for a Scatter/Bubble chart. Creates a new TScatterChartOptions instance. See See See See See See See See See See Default label properties for labels in this group. Percent of largest bubble compared to chart in general. True if the bubbles have shadows. What the bubble size represents. True if this is a bubble chart, false if it is a scatter chart. True if negative bubbles should be shwown. Implements a simple representation of a color in scRGB colorspace. Components are doubles going from 0 to 1. Creates a Color from the sc components. Red component. (0-1)Green component. (0-1)Blue component. (0-1) Creates a new instance from a system color. Blue component in the RGB space. (0-255) Returns -1 if obj is more than color, 0 if both colors are the same, and 1 if obj is less than color. Returns true if both colors are the same. Green component in the RGB space. (0-255) Returns a hashcode for the color. Returns true if both colors are equal. First color to compare. Second color to compare. Returns true if o1 is bigger than o2. Assigns this instance to a system color. Assigns a system color to this instance. Returns true if both colors do not have the same value. First color to compare. Second color to compare. Returns true if o1 is less than o2. Red component in the RGB space. (0-255) Converts a RGB value to sRGB using a gamma of 2.2 R, G or B component of the color. ScBlue component. (between 0 and 1) ScGreen component. (between 0 and 1) ScRed component. (between 0 and 1) Converts a sRGB value to RGB using a gamma of 2.2 sR, sG or sB component of the color. A list of options for the whole series and for specific data points inside these series. Creates a new TSeriesOptionsList instance. Adds a new option to the list. If the option is null, nothing will be done. Options to add. Gets the enumerator for this class. Gets all the values of the series. Gets or sets the value for a data point or for the whole series (when key = -1). Contains information for the effects of an autoshape. Creates a new instance. Returns a deep copy of this class. Returns true if bth object are the same. Returns the hascode for the object. Color used for the effects. Scheme used in the theme. Contains the information for the fill of an autoshape. Creates a simple shape fill. Returns a deep copy of this object. Returns true if both objects have the same data. Fill for the shape. If this value is null, the fill specified in the theme will be used instead. To know the real fill style used even if this value is null, use Fill style for this object. This method will return if it isn't null, or the default theme fill if it is. Hash code for the object. True if the object has fill, false if it is transparent. Fill taken from a theme. If is null, this color here will be used along with the current theme. Style (subtle, normal, intense) from the theme used, when a theme is used. If true and using a theme, the backgroubd fill from the theme will be used, if not, the normal fill from the theme will be used. Contains information for the font of an autoshape. Creates a new instance. Returns a deep copy of this class. Returns true if bth object are the same. Returns the hascode for the object. Color used for the font. Scheme used in the theme. Contains the information for the line style for an autoshape. Creates a black simple line. Creates a line with a line style and no theme. True if the shape has a line. Custom line style. If null, the theme line style will be used. Creates a line with all the options. True if the shape has a line. Custom line style. If null, the theme line style will be used. Color to use in a theme line style. Will be used only if aLineStyle is null. It has the color that will be used instead of the one in the theme. All other line properties come from the theme. Theme that will be used for the line. This only affects the line if aLineStyle is null. Returns a deep copy of this object. Returns true if both objects have the same data. Returns the line dashing, if there is a LineStyle this is the Line dashing, else if it is null it is the Theme line dashing. Hash code for the object. Returns the line arrow for the head, if there is a LineStyle this is the Line arrow, else if it is null it is the Theme line arrow. Returns the line joining, if there is a LineStyle this is the Line join, else if it is null it is the Theme line join. This is the color used to draw the line, even if is null Returns the line arrow for the tail, if there is a LineStyle this is the Line arrow, else if it is null it is the Theme line arrow. Returns the line width, if there is a LineStyle this is the Line width, else if it is null it is the Theme line width. True if the object has a border, false otherwise. Line style used to draw the line. Note that this can be null, and in this case, a line style from the current theme is used. If this isn't null, the theme properties are ignored. Color that will be used instead of the default in the theme, when using a theme to draw the line. This property has effect only if is null. Theme used to draw the line. This property has effect only if is null. Many different configuration options for a shape. Not defined. Rotation in 1/65536 degrees. No rotation Don't allow changes in aspect ratio Don't allow the shape to be moved Shape may not be selected No cropping this shape Edit Points not allowed Do not edit text Do not adjust Do not group this shape id for the text, value determined by the host margins relative to shape's inscribed text rectangle (in EMUs) 1/10 inch margins relative to shape's inscribed text rectangle (in EMUs) 1/20 inch margins relative to shape's inscribed text rectangle (in EMUs) 1/10 inch margins relative to shape's inscribed text rectangle (in EMUs) 1/20 inch Wrap text at shape margins Text zoom/scale (used if fFitTextToShape) How to anchor the text Text flow Font rotation ID of the next shape (used by Word for linked textboxes) Bi-Di Text direction TRUE if single click selects text, FALSE if two clicks use host's margin calculations Rotate text with shape Size shape to fit text size Size text to fit shape size UNICODE text string RTF text string alignment on curve default point size fixed point 16.16 font family name Reverse row order Has text effect Rotate characters Kern characters Tightening or tracking Stretch to fit shape Char bounding box Scale text-on-path Stretch char height Do not measure along path Bold font Italic font Underline font Shadow font Small caps font Strike through font 16.16 fraction times total image width or height, as appropriate. 16.16 fraction times total image width or height, as appropriate. 16.16 fraction times total image width or height, as appropriate. 16.16 fraction times total image width or height, as appropriate. Blip to display Blip file name Blip flags transparent color (none if ~0UL) contrast setting brightness setting 16.16 gamma Host-defined ID for OLE objects (usually a pointer) Modification used if shape has double shadow Blip file name Blip flags Do not hit test the picture grayscale display bi-level display Server is active (OLE objects only) Defines the G (geometry) coordinate space. Adjustment values corresponding to the positions of the adjust handles of the shape. The number of values used and their allowable ranges vary from shape type to shape type. Adjustment values corresponding to the positions of the adjust handles of the shape. The number of values used and their allowable ranges vary from shape type to shape type. Adjustment values corresponding to the positions of the adjust handles of the shape. The number of values used and their allowable ranges vary from shape type to shape type. Adjustment values corresponding to the positions of the adjust handles of the shape. The number of values used and their allowable ranges vary from shape type to shape type. Adjustment values corresponding to the positions of the adjust handles of the shape. The number of values used and their allowable ranges vary from shape type to shape type. Adjustment values corresponding to the positions of the adjust handles of the shape. The number of values used and their allowable ranges vary from shape type to shape type. Adjustment values corresponding to the positions of the adjust handles of the shape. The number of values used and their allowable ranges vary from shape type to shape type. Adjustment values corresponding to the positions of the adjust handles of the shape. The number of values used and their allowable ranges vary from shape type to shape type. Adjustment values corresponding to the positions of the adjust handles of the shape. The number of values used and their allowable ranges vary from shape type to shape type. Adjustment values corresponding to the positions of the adjust handles of the shape. The number of values used and their allowable ranges vary from shape type to shape type. This property specifies an array of connection sites that a user can use to make a link between shapes. This property specifies an array of angles corresponding to the connection sites in the pConnectionSites_complex property that are used to determine the direction that a connector links to the corresponding connection site. This property specifies an x coordinate above which limousine scaling is used in the horizontal direction. This means that points whose x coordinate is greater than xLimo have their x coordinates incremented rather than linearly scaled. This property specifies an y coordinate above which limousine scaling is used in the vertical direction. This means that points whose y coordinate is greater than yLimo have their y coordinates incremented rather than linearly scaled. This property specifies an array of adjust handles which allow a user to manipulate the geometry of this shape. Array of guide formula for the shape which specify how the geometry of the shape changes as the adjust handles are dragged. This property specifies an array of rectangles specifying how text should be inscribed within this shape. Shadow may be set 3D may be set Line style may be set Text effect (WordArt) supported OK to fill the shape through the UI or VBAs Type of fill Foreground color Fixed 16.16 Background color Shades only Modification for BW views Pattern/texture Blip file name Blip flags How big (A units) to make a metafile texture. Fade angle - degrees in 16.16 Linear shaded fill focus percent Fraction 16.16 Fraction 16.16 Fraction 16.16 Fraction 16.16 For shaded fills, use the specified rectangle instead of the shape's bounding rect to define how large the fade is going to be. Special shades a preset array of colors Type of shading, if a shaded (gradient) fill. Is shape filled? Should we hit test fill? Register pattern on shape Use the large rect? Hit test a shape as though filled Color of line Not implemented Background color Modification for BW views Type of line Pattern/texture Blip file name Blip flags How big (A units) to make a metafile texture. How to interpret fillWidth/Height numbers. A units; 1pt == 12700 EMUs ratio (16.16) of width Draw parallel lines? Can be overridden by: As Win32 ExtCreatePen Arrow at start Arrow at end Arrow at start Arrow at end Arrow at start Arrow at end How to join lines How to end lines Allow arrowheads if prop. is set Any line? Should we hit test lines? Register pattern on shape Draw a dashed line if no line Type of effect Foreground color Embossed color Modification for BW views Fixed 16.16 Offset shadow Offset shadow Double offset shadow Double offset shadow 16.16 16.16 16.16 16.16 16.16 / weight 16.16 / weight scaling factor Any shadow? Excel5-style shadow Where transform applies The LONG values define a transformation matrix, effectively, each value is scaled by the perspectiveWeight parameter. Scaling factor On/off Fixed-point 16.16 Fixed-point 16.16 Default gives OK results Specular edge thickness Distance of extrusion in EMUs Extrusion direction Basic color of extruded part of shape; the lighting model used will determine the exact shades used when rendering. Modification for BW views Does this shape have a 3D effect? Use metallic specularity? degrees (16.16) about y axis degrees (16.16) about x axis These specify the rotation axis; only their relative magnitudes matter. degrees (16.16) about axis rotation center x (16.16 or g-units) rotation center y (16.16 or g-units) rotation center z (absolute (emus)) Full,wireframe, or bcube pixels (16.16) X view point (emus) Y view point (emus) Z view distance (emus) degree (16.16) skew angle Percentage skew amount Fixed point intensity Key light source direction; only their relative Key light source direction; only their relative magnitudes matter Fixed point intensity Fill light source direction; only their relative Fill light source direction; only their relative magnitudes matter Fixed point intensity Parallel projection? Is key lighting harsh? This property is present if the shape represents an equation generated by Office 2007 or later. The property is a string of XML representing a Word 2003 XML document. The original equation is stored within the oMathPara tag within the document. master shape Type of connector Settings for modifications to be made when in different forms of black-and-white mode. For OLE objects, whether the object is in icon form For UI only. Prefer relative resizing. Lock the shape type (don't allow Change Shape) If TRUE, this is the background shape. Callout type (TwoSegment) Distance from box to first point.(EMUs) (1/12 inch) Callout angle (Any) Callout drop type (Specified) if msospcodSpecified, the actual drop distance (9 points) if fCalloutLengthSpecified, the actual distance (0) Is the shape a callout? (FALSE) does callout have accent bar? (FALSE) does callout have a text border? (TRUE) (FALSE) FALSE If true, then we occasionally invert the drop distance (FALSE) if true, we look at dxyCalloutLengthSpecified (FALSE) This property specifies the minimum sizes of the rows in a table. This property specifies relationships in a diagram. Diagram constrain bounds Custom dash style of the line. Custom dash style of the line. Custom dash style of the line. Custom dash style of the line. This class holds a list of key/values pairs specifying the options for a shape. To Get a value from it, use: ShapeOptionList[TShapeOption.xxx]; Initializes a new instance of the class Returns a float (Expressed as 16.16) property if it exists, otherwise the default value. Property Name. What to return if the property does not exist. Returns a bool property if it exists, otherwise the default value. Property Name. What to return if the property does not exist. Boolean properties are grouped so all properties on one set are in only one value. So, the last bool property on the set is the first bit, and so on. ONLY THE LAST PROPERTY ON THE SET IS PRESENT. Returns an hyperlink property if it exists, otherwise the default value. You will normally want to use this property with since that is the property that holds the link for the objects. Property Name. What to return if the property does not exist. Returns a long property if it exists, otherwise the default value. Note: This method will always assume a positive number. To get a signed int, use Property Name. What to return if the property does not exist. Returns a long property if it exists, otherwise the default value. Note: This method will return negative numbers if the number is bigger than 65536. To get an unsigned int, use Property Name. What to return if the property does not exist. Returns an unicode property if it exists, otherwise the default value. Property Name. What to return if the property does not exist. Creates a deep copy of the object. Returns true if 2 instances of this class have the same values. Gets the enumerator for this class. Hashcode for the object. Gets the value for a key. Value can be a long or a string, depending on the type of property. Internal use. m/n of a Circle ('mcdn') - The units here are in 60,000ths of a degree. Shape Bottom Edge ('b') - Constant value of "h" This is the bottom edge of the shape and since the top edge of the shape is considered the 0 point, the bottom edge is thus the shape height. Shape Height ('h') This is the variable height of the shape defined in the shape properties. This value is received from the shape transform listed within the spPr element. Horizontal Center ('hc') - Calculated value of "*/ w 1.0 2.0" This is the horizontal center of the shape which is just the width divided by 2. 1/n of Shape Height ('hdn') - Calculated value of "*/ h 1.0 n.0" This is 1/n the shape height. Shape Left Edge ('l') - Constant value of "0" This is the left edge of the shape and the left edge of the shape is considered the horizontal 0 point. Longest Side of Shape ('ls') - Calculated value of "max w h" This is the longest side of the shape. This value is either the width or the height depending on which is greater. Shape Right Edge ('r') - Constant value of "w" This is the right edge of the shape and since the left edge of the shape is considered the 0 point, the right edge is thus the shape width. Shortest Side of Shape ('ss') - Calculated value of "min w h" This is the shortest side of the shape. This value is either the width or the height depending on which is smaller. 1/n Shortest Side of Shape ('ssdn') - Calculated value of "*/ ss 1.0 n.0" Shape Top Edge ('t') - Constant value of "0" This is the top edge of the shape and the top edge of the shape is considered the vertical 0 point. Vertical Center of Shape ('vc') - Calculated value of "*/ h 1.0 2.0" This is the vertical center of the shape which is just the height divided by 2. Shape Width ('w') This is the variable width of the shape defined in the shape properties. This value is received from the shape transform listed within the spPr element. 1/n of Shape Width ('wdn') - Calculated value of "*/ w 1.0 n.0" This is 1/n the shape width. A class describing an Excel graphics object. Creates a new instance. Adds a new child for this autoshape. Shape to be added. Coordinates of the shape. Note that when the shape is a group, this value is null and the real anchor is retruned in the first child of the shape. To get the real Anchor of a first level object, use Returns one of the shapes inside of this one. Index of the shape (1-based) A child shape. Number of shapes that are inside this shape. True if the shape is flipped horizontally. True if the shape is flipped vertically. Returns true if the object is an ActiveX object. Returns true if the object is an internal object, like a comment or the arrow of an autofilter. Internal objects shouldn't be modified. Real Coordinates of the shape. Note that when the shape is a group, the value in is null and the real anchor is returned in the first child of the shape. This method will get the real Anchor of a first level object. When the shape is a group, the real properties of the shape are in its first children. This method returns the correct shape options. Use this string to identify the shape when it is not the first on the hierarchy. For Example, imagine you have a Group Shape A with 2 children, B and C. If you want to change the text on shape C, you need to call SetObjectText(n,ObjectPath);

The object path can be of 2 types: Absolute or relative. Absolute object paths start with "\\" and include the parent object. Relative paths don't include the main group shape.

For example the absolute path "@1\\2\\3" is the same as accessing the object 1, with object path "2\\3" This property returns the relative path, you can get the absolute path with .
Use this string to identify the shape when it is not the first on the hierarchy. For Example, imagine you have a Group Shape A with 2 children, B and C. If you want to change the text on shape C, you need to call SetObjectText(n,ObjectPath);

The object path can be of 2 types: Absolute or relative. Absolute object paths start with "\\" and include the parent object. Relative paths don't include the main group shape.

For example the absolute path "@1\\2\\3" is the same as accessing the object 1, with object path "2\\3" This property returns the absolute path, you can get the relative path with .
Returns the object path as a shape id. This is used mostly internally. Type of object. Note that this is not the same as . A comment might have a ShapeType=TShapeType.Rectangle, but its object type is TObjectType.Comment. A rectangle Autoshape will also have ShapeType=TShapeType.Rectangle, but its ObjectType will be TObjectType.Rectangle. True if the shape should be printed. This is an internal identified for the shape. It will remain the same once the file is loaded, but it might change when you load the same file at different times. Name of the shape if it is named, null otherwise. A lot of personalized settings, like shadow type fill color, line type, etc. Theme Font used for the text in the shape. This property only affects xlsx files, in xls font is always arial black, and you can change the font ony inside the rich string, not in a global way. In xls files this will be null. Type of shape. Note that this is not the same as A comment might have a ShapeType=TShapeType.Rectangle, but its object type is TObjectType.Comment. A rectangle Autoshape will also have ShapeType=TShapeType.Rectangle, but its ObjectType will be TObjectType.Rectangle. Text of the shape if is has some, null otherwise. Option flags for the Text shape. Mask: 0x000E Horizontal text alignment: 1 = left-aligned 2 = centered 3 = right-aligned 4 = justified Mask: 0x0070 Vertical text alignment: 1 = top 2 = center 3 = bottom 4 = justify Mask: 0x0200 1 if the Lock Text option is on (Format Text Box dialog box, Protection tab) Text rotation, in degrees * 0xFFFF True if the shape is visible. Enumeration with the different shapes. Options for protecting the change list in a shared workbook. In Excel you can change this settings in Protection->Protect Shared Workbook. Initializes empty protection. Initializes the class. True to protect the change history from being removed. True to protect the change history from being removed. How the file will be calculated by Excel. This enum doesn't affect FlexCel recalculation. Manual recalculation. Automatic recalculation. Automatic recalculation without tables. General options for a sheet. In Excel, this settings are located in Tools->Options->View in the "Window options" box. Most of this options can be set with dedicated methods in , but this type allows to set them all at once, or copy them from other file. This options apply only to the active sheet. For options that apply to all the sheets see No option is selected. If 1, Excel will show formula text instead of formula results. This is the same as calling If 0 Excel will hide the gridlines, if 1 it will show them. This is the same as calling if 0 Excel will hide the "A", "B"... column headers and "1", "2" ... row Headers. If 1 Excel will hide 0 values. This is the same as calling If 1, the color of gridlines will be gray. If 0 it will be the color speciifed at . Note that calling will automatically set this property to 0. If 1, the sheet is Right to left. If 1, Excel will show the outline symbols (+/-) when there are gouped rows or columns. If 1 Excel will show the page breaks. Options for protecting a sheet. Initializes a not protected block. Creates a protected or unprotected sheet. If true, all things in the sheet will be protected. this means a property like will be true, and others like will be false. If false, nothing will. Creates a protected or unprotected sheet. If true, all properties on this class will be set to true. This means cells on the sheet will be protected, and things like Cell formatting will be not. If false, all properties will be set to false. If TRUE, users are allowed to change this setting. Set it to FALSE to disable this property. Only on Excel >= XP. If TRUE, users are allowed to change this setting. Set it to FALSE to disable this property. Only on Excel >= XP. Sheet contents are protected If TRUE, users are allowed to change this setting. Set it to FALSE to disable this property. Only on Excel >= XP. If TRUE, users are allowed to change this setting. Set it to FALSE to disable this property. Only on Excel >= XP. If TRUE, users are allowed to change this setting. Set it to FALSE to disable this property. Only on Excel >= XP. If TRUE, users are allowed to change this setting. Set it to FALSE to disable this property. Only on Excel >= XP. If TRUE, users are allowed to change this setting. Set it to FALSE to disable this property. Only on Excel >= XP. If TRUE, users are allowed to change this setting. Set it to FALSE to disable this property. Only on Excel >= XP. If TRUE, users are allowed to change this setting. Set it to FALSE to disable this property. Only on Excel >= XP. Objects on the sheet are protected. If TRUE, users are allowed to change this setting. Set it to FALSE to disable this property. Only on Excel >= XP. Scenarios on the sheet are protected. If TRUE, users are allowed to change this setting. Set it to FALSE to disable this property. Only on Excel >= XP. If TRUE, users are allowed to change this setting. Set it to FALSE to disable this property. Only on Excel >= XP. If TRUE, users are allowed to change this setting. Set it to FALSE to disable this property. Only on Excel >= XP. Sheet types Normal WorkSheet. Chart Sheet An Excel 5.0 dialog sheet. An Excel 4.0 Macro sheet. Something we don't support. It shouldn't happen. General options for how sheets display. In Excel, this settings are located in Tools->Options->View in the "Window options" box. This options apply only to all the sheets. For options that apply only to the active sheet see No option is selected. If true, the workbook window will be hidden. You will need to go to Window->Unhide to see it. If true, the workbok window will be minimized. If false, the horizontal scroll bar will be hidden. If false, the vartical scroll bar will be hidden. If false, the bar with sheet names at the bottom will be hidden. Shapes are filled with a solid color. Creates a new Solid fill. Color for the fill. Color used to fill the shape. Returns -1 if obj is bigger than this, 0 if both objects are the same, and 1 if obj is smaller than this. Returns true if this instance has the same data as the object obj. Returns the hashcode for this object The sort order for a sort operation. Sort ascending. Sort descending. Spin properties of a scrollbar, spinner, listbox or combobox. Creates an empty TSpinProperties instance. Creates a new instance with data and a default dx of 16. Minimum value for the spin control. Maximum value for the spin control. Small increment. Big increment. Creates a new instance with data. Minimum value for the spin control. Maximum value for the spin control. Small increment. Big increment. Width of the scrollbar. It should normally be 16. Returns true if both objects have the same data. Hashcode for the object. How much the scrollbar moves when you press the up or down arrow. You will probably want to keep this at 1. Minimum value for the spinner/scrollbar. How much the scrollbar moves when you press pgup/down. Way the series stack one to the other. This does not apply to all chart types. Data is not Stacked. Data is Stacked. (for example in stacked bar chart) Data is stacked and normalized to 100%. (This is a 100% stacked bar/column chart) Category to which a cell style belongs. This is only valid for Excel 2007 or newer. Custom style. Good, bad, neutral style. Data model style. Title and heading style. Themed cell style. (ACCENT styles) Number format style. System colors. Color is not specified. Specifies a Dark shadow color for three-dimensional display elements. Specifies a Light color for three-dimensional display elements (for edges facing the light source). Specifies an Active Window Border Color. Specifies the active window title bar color. In particular the left side color in the color gradient of an active window's title bar if the gradient effect is enabled. Specifies the Background color of multiple document interface (MDI) applications. Specifies the desktop background color. Specifies the face color for three-dimensional display elements and for dialog box backgrounds. Specifies the highlight color for three-dimensional display elements (for edges facing the light source). Specifies the shadow color for three-dimensional display elements (for edges facing away from the light source). Specifies the color of text on push buttons. Specifies the color of text in the caption, size box, and scroll bar arrow box. Specifies the right side color in the color gradient of an active window's title bar. Specifies the right side color in the color gradient of an inactive window's title bar. Specifies a grayed (disabled) text. This color is set to 0 if the current display driver does not support a solid gray color. Specifies the color of Item(s) selected in a control. Specifies the text color of item(s) selected in a control. Specifies the color for a hyperlink or hot-tracked item. Specifies the color of the Inactive window border. Specifies the color of the Inactive window caption. Specifies the left side color in the color gradient of an inactive window's title bar if the gradient effect is enabled. Specifies the color of text in an inactive caption. Specifies the background color for tooltip controls. Specifies the text color for tooltip controls. Specifies the menu background color. Specifies the background color for the menu bar when menus appear as flat menus. Specifies the color used to highlight menu items when the menu appears as a flat menu. Specifies the color of Text in menus. Specifies the scroll bar gray area color. Specifies window background color. Specifies the window frame color. Specifies the color of text in windows. Text direction for objects like comments, that allow rotation, but only in 90 degrees. Text is not rotated. Text is rotated 90 degrees counterclockwise. Text is rotated 90 degrees clockwise. Text is written in vertical layout, a character below the other. Contains a complete definition for an Office Theme. Creates a new standard "Office" theme. Returns a deep copy of this object. Elements of the theme. Returns true if the theme is standard. Name of the theme definition. This will be shown in Excel UI. Excel version that saved this theme. For Excel 2007 this value is 124226. For themes new to Excel 2010, this value might be 144315 Specifies one of the 12 theme colors. No theme color. Main color for backgrounds in Theme. This theme can also be called "Light1" by Excel. Main color for foregrounds in Theme. This theme can also be called "Dark1" by Excel. Secondary color for backgrounds in Theme. This theme can also be called "Light2" by Excel. Secondary color for foregrounds in Theme. This theme can also be called "Dark2" by Excel. Accent1 Theme. Accent2 Theme. Accent3 Theme. Accent4 Theme. Accent5 Theme. Accent6 Theme. HyperLink Theme. FollowedHyperLink Theme. A color scheme for a theme. Creates a new ColorScheme with standard properties. Returns a color definition for a themed color. Name of the color definition. This will be shown in Excel UI. Resets the color scheme to be the Excel 2007 standard. Definitions of the elements in a theme (colors, fonts, formats). This is the main part of a theme. Creates a new theme elements. Returns a deep copy of this object. Color Scheme in the theme. Font Scheme in the theme. Format Scheme (Effects). This won't affect cells in the spreadsheet, but can affect drawings. Returns true if the elements in this theme are the default ones in Office 2007. Represents either a major or a minor font for the theme. Creates a new TThemeFont instance. Creates a new TThemeFont. See See See Adds a new font to the font collection. Script to be associated with the font. Typeface to associate. Set it to null to delete the element Clears all font associations. Returns a deep copy of this object. This element specifies that a complex script font be used for a specific run of text. This font is specified with a typeface attribute much like the others but is specifically classified as a complex script font. This element specifies that an East Asian font be used for a specific run of text. This font is specified with a typeface attribute much like the others but is specifically classified as an East Asian font. Returns true if both objects are the same. Returns the typeface associated with a script. Returns all scripts that have a current association. You can use the values in this array as keys for Returns the hashcode for the object. NORMALLY THIS IS ALL YOU HAVE TO CHANGE TO CHANGE A TYPEFACE. Check with APIMate if unsure. This element specifies that a Latin font be used for a specific run of text. This font is specified with a typeface attribute much like the others but is specifically classified as a Latin font. Represents the fonts for a theme. Creates a new font scheme with standard properties. This element defines the set of major fonts which are to be used under different languages or locals. This element defines the set of minor fonts which are to be used under different languages or locals. Name of the font definition. This will be shown in Excel UI. Represents the drawing formats (fill styles, line styles, effects) for a theme. Creates a new Format scheme instance. This element defines a list of background fills that are used within a theme. This element defines a set of three effect styles that create the effect style list for a theme. This element defines a set of three fill styles that are used within a theme. This element defines a list of three line styles for use within a theme. Name of the format definition. This will be shown in Excel UI. The characteristics that define a font. Creates a new TThemeTextFont. See See See See Specifies the character set which is supported by the parent font. This information can be used in font substitution logic to locate an appropriate substitute font when this font is not available. This information is determined by querying the font when present and shall not be modified when the font is not available. Returns -1, 0 or 1 depending if the objects is smaller, equal or bigger than the other. Returns true if both objects are the same. Returns a hashcode for the object. Returns true if both structs have the same value. First struct to compare. Second struct to compare. Returns true if both structs do not have the same value. First struct to compare. Second struct to compare. Specifies the Panose-1 classification number for the current font. This is a string consisting of 20 hexadecimal digits which defines the Panose-1 font classification Specifies the font pitch as well as the font family for the corresponding font. Specifies the typeface, or name of the font that is to be used. The typeface is a string name of the specific font that should be used in rendering the presentation. If this font is not available within the font list of the generating application than font substitution logic should be utilized in order to select an alternate font. Ticks for an axis. No Ticks. Inside axis line. Outside axis line. Crosses the axis line. This class and all its decendants represent a token in a formula. You can use these classes to modify formulas without having to parse the text in them, which can be a difficult task. Creates a new token. Returns the type of token. A single cell address in the same sheet or to other sheet. See also TTokenCellRange for other tokens that can contain addresses. Creates a new Cell address token. Cell where this token will point to. Cell address where this reference points to. A range of cells. See TTokenCellAddress for single cell references. Creates a new Cell range token. Range where this token will point to. Cell address where this reference points to. Constant data, like "Hello" and 1 in the formula: "=IF(A1 = 1,,"Hello")" Creates a new data token. Data. Data represented by this token. A function like "Sum" or "If" Creates a new function token. Name of the function. Number of arguments for this function. Note that if the function has a fixed number of arguments, this parameter is ignored. Number of arguments for this function. Note that if the function has a fixed number of arguments, this parameter is ignored. Name of the function represented by this token. A missing argument for a function. For example the second parameter in the formula: "=IF(A1 = 1,,"Hello")" Creates a new Missing argument token. A named range Creates a new name token. Named range. Named range represented by this token. An operator like "+" or "-" Creates a new operator token. Type of operator. Operator represented by this token. A parenthesis surrounding the last token. Note that this token is not used in the formula (since RPN doesn't need parenthesis) but it is there so Excel can display them. Creates a new parenthesis token. An operator that operates in ranges, like union or intersection. Creates a new range operator token. Type of operator. Operator represented by this token. Enumerates the different kind of tokens you can find in a formula A single cell address in the same sheet or to other sheet. See also CellRange for other tokens that can contain addresses. A range of cells. See CellAddress for single cell references. A function like "Sum" or "If" An operator like "+" or "-" Operator in ranges, like "Union" or "Intersection" Whitespace like " " A parenthesis surrounding the last token. Note that this token is not used in the formula (since RPN doesn't need parenthesis) but it is there so Excel can display them. A named range Constant data, like "Hello" and 1 in the formula: "=IF(A1 = 1,,"Hello")" A missing argument for a function. For example the second parameter in the formula: "=IF(A1 = 1,,"Hello")" This token is not supported by FlexCel. This token is not supported by FlexCel. Creates a new unsupported token. Whitespace like " ". This is not used in calculation, but it is use by Excel to show the formula as it was entered. Creates a new whitespace token. Whitespace in the formula. Number of whitespace characters in this token. Encapsulates the parameters to send to an User Defined Function for evaluation. Creates a new instance. See See See See Column index where the formula is located. This value only has meaning when evaluating formulas in cells. (Not when for example evaluating formulas inside named ranges) Row index where the formula is located. This value only has meaning when evaluating formulas in cells. (Not when for example evaluating formulas inside named ranges) Index of the sheet where the formula is located. This value only has meaning when evaluating formulas in cells. (Not when for example evaluating formulas inside named ranges) ExcelFile that has the formula being evaluated. You might change its ActiveSheet propery inside this method and there is no need to restore it back. Options for an unknown chart. This class does not have any information except the charttype. Creates a new TUnknownChartOptions instance. An unsupported formula, the cell it is in, and the reason why it is not supported. Creates a new empty instance. Creates a new instance of a TUnsupported formula class. See See See See Cell where the formula is (1 based) Type of error. This property has the name of the physical file being evaluated, and can be of use when evaluating linked files. If the files are opened from a stream or not from a physical place, it will be null. If the error is then this is the name of the missing function. If the error is then this is the name of the file not found. Types of error that might happen while recalculating. FlexCel was not able to parse the formula. There is a function on the formula that is not implemented by FlexCel. The function is supported, but not with those arguments. There is a circular reference on this cell. The file in the external reference was not found. A list of unsupported formulas on a sheet. Initializes a new instance of the class Adds a new unsupported formula to the list. Unsupported formula. The number of errors on the list. Returns the items at position index. Inherit from this class to create your own user defined functions. Make sure you read the pdf documentation to get more information on what user defined functions are and how they are created. Initializes the name of the user defined function. Name to be used in the user defined function. This is the same name that should be in the xls file. Initializes the name of the user defined function, with an special name for older Excel versions. Name to be used in the user defined function. This is the same name that should be in the xls file. Name that will be used when saving xls (biff8) files. Some functions are saved by Excel 2010 as .xlfn_Name when saving xls (not xlsx). This is the name that should be saved in the xls file, not the real name of the function. Checks that the parameter array has the expected number of arguments, and that no one is an Error. If any argument is an error it is returned in ResultError, since the default in Excel is to stop processing arguments in a function when one is an error. Array of parameters to check. Number of parameters expected. If this number is variable, specify -1 here. Returns the error in the parameters. This parameter si only valid if this function returns false. True if all parameters are correct, false otherwise. Override this method to provide your own implementation on the function.
If this method throws an exception, it will not be handled and the recalculation will be aborted. So if you want to return an error, return a value.
Do not use any global variable in this method, it must be stateless and always return the same value when called with the same arguments.
See the PDF documentation for more information.
Extra objects you can use to evaluate the function. Parameters for the function. When this method is called by FlexCel, this parameter will never be null, but might be an array of zero length if there are no parameters.
Each parameter in the array will always be one of the following objects: Null. (Nothing in VB). If the parameter is empty or missing.A A A A This will be returned when the argument is a cell reference.A . Except in very special cases (like an IsError function), the expected behavior in Excel is that whenever you get an Error parameter your function should return the same error and exit. You can use the method to implement that.A 2-dimensional array of objects, where each object in the array will be of any of the types mentioned here again. This class provides utility methods like that will help you get an specific type of object from a parameter. Return any object you want here. Normally a double, a string, a boolean a TFlxFormulaErrorValue or a null. If this method returns a class, it will be converted to an allowed value, normally to a string.
Returns a single value from a parameter. If the parameter is a cell range and the cell range has only one cell, this method will return the value of the cell, else it will return an error. ExcelFile that will be used to read the value if param is a cell reference. One of the parameters passed to Name that will be used when saving xls (biff8) files. Some functions are saved by Excel 2010 as .xlfn_Name when saving xls (not xlsx). This is the name that should be saved in the xls file, not the real name of the function. Name that will be assigned to the function. Tries to retrieve an array from a parameter, and return it if it can be converted or an error if not. ExcelFile used to read the parameter when it is a cell reference. One of the parameters passed to Value of the parameter as an array. If TryGetArray returns false, this value is undefined. Value of the error when converting the parameter. If TryGetArray returns true (there was no error), this value is undefined. True if the parameter can be converted to an array, false if there was an error. Tries to retrieve a boolean from a parameter, and return it if it can be converted or an error if not. ExcelFile used to read the parameter when it is a cell reference. One of the parameters passed to Value of the parameter as a boolean. If TryGetBoolean returns false, this value is undefined. Value of the error when converting the parameter. If TryGetBoolean returns true (there was no error), this value is undefined. True if the parameter can be converted to a boolean, false if there was an error. Tries to retrieve a cell range from a parameter, and return it if it can be converted or an error if not. One of the parameters passed to Value of the parameter as a TXls3DRange. If TryGetRange returns false, this value is undefined. Value of the error when converting the parameter. If TryGetCellRange returns true (there was no error), this value is undefined. True if the parameter can be converted to a cell range, false if there was an error. Tries to retrieve a date/time from a parameter, and return it if it can be converted or an error if not. ExcelFile used to read the parameter when it is a cell reference. One of the parameters passed to If true, the date returned will have the time set to 0:00 no matter the real value. Value of the parameter as double. If TryGetDate returns false, this value is undefined. Value of the error when converting the parameter. If TryGetDate returns true (there was no error), this value is undefined. True if the parameter can be converted to a datetime, false if there was an error. Tries to retrieve a double from a parameter, and return it if it can be converted or an error if not. ExcelFile used to read the parameter when it is a cell reference. One of the parameters passed to Value of the parameter as double. If TryGetDouble returns false, this value is undefined. Value of the error when converting the parameter. If TryGetDouble returns true (there was no error), this value is undefined. True if the parameter can be converted to a double, false if there was an error. Tries to retrieve a list of double arguments from the parameters, starting at parameter startParam. Use this method for functions that accept a range of numeric values as an entry. (for example =Sum(a1:a10)) ExcelFile used to read the parameter when it is a cell reference. The parametes passed to the function. First parameter we want to evaluate. Last parameter we want to evaluate. If < 0, it will evaluate all parameters from startParam to parameters.Length A class decending from TUserDefinedFunctionAggregator that will process the values for every entry in the range. Value of the error when converting the parameter. If TryGetDouble returns true (there was no error), this value is undefined. Tries to retrieve a string from a parameter, and return it if it can be converted or an error if not. ExcelFile used to read the parameter when it is a cell reference. One of the parameters passed to Value of the parameter as string. If TryGetString returns false, this value is undefined. Value of the error when converting the parameter. If TryGetString returns true (there was no error), this value is undefined. True if the parameter can be converted to a string, false if there was an error. Defines where the custom function is located, if inside a macro in the same file, or inside a macro in an external file. The custom function is defined in an external file or addin. Whenever you add this function to a workbook, references will be created to an external function. The custom function is defined inside the same file where the formula is. Whenever you add this function to a workbook, references will be created to a macro in the same file. Defines how custom functions are added to the recalculation engine. If a function is defined in both Global and Local scope, Local scope will be used. Function will be added for all instances of FlexCel. You will normally use this setting only once at the beginning of your application. Functions will be available only for the instance where they were added. Use this option if you might have different custom functions with the same name in different spreadsheets, and adding the function globally would clash. You will normally use this setting when adding the formulas after creating the ExcelFile instances. Information about an Axis of values. (normally the y axis) Constructs a new TValueAxisOptions instance with all values set to automatic. Constructs a new TValueAxisOptions instance. See See See See See See See . This parameter will be cloned. See See . This parameter will be cloned. See . This parameter will be cloned. See This parameter will be cloned. See This parameter will be cloned. Enumerates which of the other options contain valid values or are automatic. Value where the other Axis will cross this one, when not set to automatic in . Value for the major unit, when not set to automatic in . Maximum value for the axis, when not set to automatic in . Minimum value for the axis, when not set to automatic in . Value for the minor unit, when not set to automatic in . Options for a Value Axis. All magnitudes will be manual. Use automatic minimum. Use automatic maximum. Use automatic major units. Use automatic minor units. Use automatic crossing point. Use logarithmic scale. Values will be in reverse order. The category Axis will cross at the maximum value. Vertical Alignment on a cell. Aligned to the top. Vertically centered on the cell. Aligned to the bottom. Justified on the cell. Distributed on the cell. Options for protecting the workbook. Initializes empty protection. Initializes the class. True if the structure will be protected. True if the window will be protected. Structure is protected. Window is protected. This class links together a group of spreadsheets, so you can recalculate among linked spreadsheets. In order to use it, just define an object of this class and add all the files you need for the linked recalculation. If you don't know in advance which files you will need, you can use the event.
Note that whenever you recalculate any file in the workspace, all files will be recalculated, so you don't need to calculate them twice.
Creates a new workspace. Adds a file to the workspace. Whenever you recalculate any file in this workspace, all linked files will be recalculated too. Note that you can't add two files with the same name or same reference twice to this collection. Name that this file will have in the workspace. When recalculating a linked formula, this name will be used. If you want to include paths in the name you can too, but it is normally not needed since FlexCel will search for the simple filename anyway. You only need to include paths if you have 2 files with the same name in different folders used in the recalculation. Excel file to add. Removes all files from the workspace. Number of linked files in this workspace. Returns an enumerator with all the files in the Workspace. Returns the file at index. Index of the file in the workspace. (1 based) Returns the Excel file with the given name. To get the file at a given position, use Use this event to load files to recalculate on demand, if you don't know a priori which linked files you need. Note that this event will add the new file to the workspace. It will only be called once for each file, even if the file is used many times. Replace this event when creating a custom descendant of TWorkspace. See also Use this method to force a recalculation of all the spreadsheets in the workspace. This is the same as calling Recalc() in any of the files in the workspace. When true this method will perform a recalc in all files. When false, it will only recalculate the files where there has been a change. This method will do the same as , but for a workspace of files. A list with the unsupported functions in the workspace. A 3d Excel range. Creates an empty 3d range. Creates a new TXls3DRange class. First sheet of the range. Second sheet of the range. First row on range. First column on range. Last row on range. Last column on range. Returns true if both objects are equal. Returns the hashcode of the object. Returns true if the range has only one cell. Returns true if both objects are equal. Note this is for backwards compatibility, this is a class and not immutable, so this method should return true if references are different. But that would break old code. Returns true if both objects do not have the same value. Note this is for backwards compatibility, this is a class and not immutable, so this method should return true if references are different. But that would break old code. First sheet of the range. Second sheet of the range. The specific Excel version that FlexCel will emulate when reading and saving files. FlexCel will identify itself as Excel 2007 in the generated xls files. FlexCel will identify itself as Excel 2003 in the generated xls files. It will also ignore the extra information written by Excel 2007 when reading xls files created with it. An Excel Cell range, 1-based. Creates an empty Cell range. Creates a new TXlsCellRange class. First row on range. First column on range. Last row on range. Last column on range. Creates a cell range based in an Excel range string, like "A1:A10" Definition for the range, in Excel A1 notation. For example A1:B3 Last row on range. Returns a copy of the original range. Number of columns on the range. Returns a COPY of the range decremented by one. Returns true if both objects are equal. Creates a range with all cells on the sheet (65536 rows x 256 columns in Excel 97-2003) Returns the hashcode of the object. True if the specified column is in the range Column we want to know if is on the range. True if the specified row is in the range Row we want to know if is on the range. Returns a COPY of the range incremented by one. Returns true if the range has only one cell. First column on range. Creates a new range with the start at newTopRow, newLeftCol. Returns true if both objects are equal. Note this is for backwards compatibility, this is a class and not immutable, so this method should return true if references are different. But that would break old code. Returns true if both objects do not have the same value. Note this is for backwards compatibility, this is a class and not immutable, so this method should return true if references are different. But that would break old code. Last column on range. Number of rows on the range. First row on range. Returns the range transposed, rows by columns. Possible image types on an excel sheet. Enhanced Windows Metafile. This is a Vectorial image format. Windows Metafile. This is a Vectorial image format. JPEG Image. This is a losely compressed bitmap, best suited for photos. Portable Network Graphics. This is a lossless compressed bitmap, best suited for text. Windows Bitmap. As this is not compressed, don't use it except for really small images. Macintosh PICT. This won't be rendered by FlexCel, and you shouldn't add images in this format. Tiff Image: http://partners.adobe.com/public/developer/tiff/index.html#spec This is NOT supported in xls file format, only xlsx. Gif Image. This is NOT supported in xls file format, only xlsx. Unsupported image format. Sheet margin for printing, in inches. Creates default Margins Creates Personalized Margins. All units are in inches. Left margin in inches. Top margin in inches. Right margin in inches. Bottom margin in inches. Header margin in inches. Footer margin in inches. Bottom Margin in inches. Footer Margin in inches. Space for the footer at bottom of page, it is taken from Bottom margin. Header Margin in inches. Space for the header at top of page, it is taken from Top margin. Left Margin in inches. Right Margin in inches. Top Margin in inches. An Excel named range. Creates an empty NamedRange. Creates a new Named range with the given values. Use this overload to create a simple range. Name of the range. Sheet index for the sheet that holds the range. 0 means a global range (default on Excel) Sheet index where the range apply. This is where row and col properties apply, not where the range is stored. (1-based) First row on range. First column on range. Last row on range. Last column on range. Options of this Range. Creates a new Named range with the given values. Use this overload to create a simple range. Name of the range. Sheet index for the sheet that holds the range. 0 means a global range (default on Excel) Sheet index where the range apply. This is where row and col properties apply, not where the range is stored. (1-based) First row on range. First column on range. Last row on range. Last column on range. Options of this Range. The formula for the range, expressed as text. Use it if the range is complex and cannot be expressed with aSheetIndex, aFirstRow... etc When you specify this parameter, all SheetIndex, aFirstRow, etc. lose their meaning. Creates a complex Named range, with a formula. Name of the range. Sheet index for the sheet that holds the range. 0 means a global range (default on Excel) Options of this Range. The formula for the range, expressed as text. For example: "A1:B2,C3:C7"
Note that with relative references, we always consider "A1" to be the cell where the name is. This means that the formula: "=$A$1 + A1" when evaluated in Cell B8, will read "=$A$1 + B8". To provide a negative offset, you need to wrap the formula. For example "=A1048575" will evaluate to B7 when evaluated in B8.
True if the range is a built in name. Built in names are 1 char long. True if the range contains a complex function. Returns the comment associated with the name, if there is one. Comments are only available in Excel 2007, but they are saved too in xls file format. Returns true if both objects are equal. True if the range is a function. Specifies the function group index if the defined name refers to a function. The function group defines the general category for the function. This attribute is used when there is an add-in or other code project associated with the file. Returns the hashcode of the object. Retrurns the string that corresponds to an internal name. Internal name we want to find. The one-char string that represents that internal name. True if the range is hidden. Returns true if the string is a valid name for a named range. Valid names must start with a letter or an underscore String we want to check. Returns true if this is an internal name, like Print_Range. Internal names have only one character. The name of the range. The sheet index for the name (1 based). A named range can have the same name than other as long as they are on different sheets. The default value(0) means a global named range, not tied to any specific sheet. Returns true if both objects are equal. Note this is for backwards compatibility, this is a class and not immutable, so this method should return true if references are different. But that would break old code. Returns true if both objects do not have the same value. Note this is for backwards compatibility, this is a class and not immutable, so this method should return true if references are different. But that would break old code. Options of the range. You can access the options by using the corresponding properties. (Hidden, BuiltIn, etc) True if the range is a function on a macro sheet. Indicates whether the defined name is included in the version of the workbook that is published to or rendered on a Web or application server. This is new to Excel 2007. This is a formula defining the range. It can be used to define complex ranges. For example you can use "=Sheet1!$A:$B,Sheet1!$1:$2". When this parameter is set, SheetIndex, Left, Top, Right and Bottom properties have no meaning.
Note that with relative references, we always consider "A1" to be the cell where the name is. This means that the formula: "=$A$1 + A1" when evaluated in Cell B8, will read "=$A$1 + B8". To provide a negative offset, you need to wrap the formula. For example "=A1048575" will evaluate to B7 when evaluated in B8.
The Sheet index where the row and col properties apply. 1-based. When RangeFormula is set, it is not used. True if the range is a Visual Basic Procedure indicates that the name is used as a workbook parameter on a version of the workbook that is published to or rendered on a Web or application server. This is new to Excel 2007. Sheet visibility. Sheet is hidden, can be shown by the user with excel. Sheet is hidden, only way to show it is with a macro. (user can't see it with excel) Sheet is visible to the user. This class has information for a error. Look at for more information. Creates a new instance. See See File with too many page breaks. This class has information for a error. Look at for more information. Creates a new instance. See See See See Definition of the invalid named range. File with the invalid name. Name of the invalid named range. Arguments passed in the event. Initializes a new instance of the class Delegate for virtual cell reads. This delegate is called after the full file has been read. Excel file that has been loaded. At the time this event is called, it is fully loaded. Arguments for the event. Arguments passed in the event. Creates a new instance. Cell value. Value and position of a cell. Delegate for virtual cell reads. Excel file from where we are reading. Remember that the file is not fully loaded when this event is called, so you are not likely to be able to use this parameter. Contains the value of the cell we are reading. Arguments passed in the event. Creates a new instance. Array with all the sheet names available in the file. A list with all the sheets available in the file. Delegate for virtual cell reads. It is called before we start reading the file, but after sheet names are known. Excel file from where we are reading. Remember that the file is not fully loaded when this event is called, so you are not likely to be able to use this parameter. Arguments for the event. Exception thrown when an exception on the PDF engine happens. Creates a new FlexCelPdfException Creates an exception from a serialization context. Serialization information. Streaming Context. Creates a new FlexCelPdfException with an error message. Error Message Creates a new FlexCelPdfException with an error message and an exception code. Error Message Error code of the exception. Creates a nested Exception. Error Message. Inner Exception. Error code of the exception. Creates a nested Exception. Error Message. Inner Exception. Error code on the Exception. Implements standard GetObjectData. Arguments passed on . Use this event to specify which fonts to embed and which fonts to ignore. Note that unicode fonts will be embedded no matter what you say here. Creates a new Argument. Return true if you want to embed this font, false if you don't want to. If you don't modify this value, the default will be used. The font for which you need to return the data. Delegate for reading the font data. Arguments passed on . Use this event to provide font information for embedding. Creates a new Argument. Set Applied = false if the font is not being processed by the event. Return the full font file as a byte array here. The font for which you need to return the data. Delegate for reading the font data. Arguments passed on . Use this event to provide font information for embedding. Creates a new Argument. When true (the default) FlexCel will append "..\Fonts" to the end of the string you specify in , for backward compatibility reasons. If you set this to false, FlexCel won't append anything and just use whatever you write in property. For new applications, it is recommended to set this property to false. Set Applied = false if the font is not being processed by the event, and FlexCel should try to find the font path for the font as if the event wasn't assigned. Return here the font path to the "Fonts" folder where ttf files are located.

When is true, FlexCel will add a "..\Fonts" string to what you specify here. For example, if you specify "c:\Windows\System", FlexCel will look at "c:\Windows\System\..\Fonts". If is false, the string here will be used literally. If you specify "c:\Windows\Fonts", FlexCel will look in "c:\Windows\Fonts".
The font for which you need to return the data. Delegate for reading the font data. Error Codes. We use this and not actual strings to make sure all are correctly spelled. Internal error. The png image is corrupt, invalid, or not in a format FlexCel can understand. This PaperKind is not supported. Please use a custom Paper size. The font file for this font is invalid. The font was not found. Invalid page number. A pdf file must be signed before calling BeginDoc. Signature names cannot contain dots. The estimated size for the signature was smaller than the final size. There is no signer associated with the signature. AllowedChanges value is invalid. FlexCel Native PDF Constants. It reads the resources from the active locale, and returns the correct string. If your language is not supported and you feel like translating the messages, please send us a copy. We will include it on the next FlexCel version. To add a new language: Copy the file pdfmsg.resx to your language (for example, pdfmsg.es.resx to translate to spanish) Edit the new file and change the messages(you can do this visually with visual studio) Add the .resx file to the FlexCel project Reruns a string based on the PdfErr enumerator, formatted with args. This method is used to get an Exception error message. Error Code. Params for this error. Throws a standard FlexCelPdfException. Error Code. Params for this error. Throws a standard FlexCelPdfException with innerException. Inner exception. Error Code. Params for this error. A simple class for creating PDF files. It will not hold contents into memory, so it can be used with little memory. Creates a new PDF file instance. Adds a new bookmark to the document. When false, (the default) text base will be at the y coordinate. For example, DrawString(..., y=100,...) will draw a string with its base at 100. Font descent (for example the lower part of a "p") will be below 100, and the ascent (the upper part) will be above. This is the standard PDF behavior. When true, all text will be drawn above the y coordinate. (both ascent and descent). This is the standard GDI+ behavior, when StringFormat.LineAlignment=StringAlignment.Far. Call this method before starting the output. It will initialize a new page. After this you can call , , etc. Always end the document with a call to and then remember to close the stream. Intersects the clipping area with a bezier region. Array of points for the curve. See GDI+ DrawBeziers function for more information. When true, all region OUTSIDE the region will be intersected with the current clipping region. Intersects the clipping area with a polygon. Array of points for the polygon. When true, all region OUTSIDE the polygon will be intersected with the current clipping region. Intersect the clip region with a rectangle specified by a pair of coordinates, a width, and a height. When true, all region OUTSIDE the rectangle will be intersected with the current clipping region. Creates a comment on the pdf file. x coord. y coord. Width of the region. Height of the region. Text to put into the comment. Properties for the comment. Set it to true to compress the text on the generated pdf file. Draws and/or fills a bezier path. If Brush is not null, the shape will be closed for filling. Pen for the outline. If null, no outline will be drawn. Brush for filling. If null, the shape will not be filled. Array of points for the curve. See GDI+ DrawBeziers function for more information. Draws and/or fills a polygon. The shape will be closed. Pen for the outline. If null, no outline will be drawn. Brush for filling. If null, the shape will not be filled. Array of points for the polygon. Draws and fills a rectangle specified by a coordinate pair, a width, and a height. Pen for the line. Might be null. Brush for the fill. Might be null. Draws an image on the canvas. Image can be any type, but all except jpeg will be converted to PNG. Image to insert. If it is not JPEG or PNG, it will be converted to PNG. Rectangle where the image will be. Stream with the raw image data. Not required, might be null. Draws an image on the canvas. Image can be any type, but all except jpeg will be converted to PNG. Image to insert. If it is not JPEG or PNG, it will be converted to PNG. Rectangle where the image will be. Stream with the raw image data. Not required, might be null. Color to make transparent. To specify no transparent color use When true and the image is not on a supported format (or imageData==null) the image will be converted to JPG. If false, the image will be converted to PNG. Draws a line on the current page. Pen used to draw the line. Width and color are used. Draws an array of line connecting pairs of points. The pen to draw the lines. An array of points. Its length must be more than 2. Draws a rectangle specified by a coordinate pair, a width, and a height. Pen for the line. Writes a string to the current page. X coord. (default from bottom left) Font to draw the text. Brush used for Color. Y coord. (default from bottom left. Might change with value) String to write. Writes a string to the current page. X coord. (default from bottom left) Font to draw the text. Pen to draw the text outline. If null, no outline will be drawn. Brush used for Color. If null, only the outline will be drawn. Y coord. (default from bottom left. Might change with value) String to write. Always call this method to write the final part of a pdf file. A semicolon (;) separated list of font names to try when a character is not found in the used font.
When a character is not found in a font, it will display as an empty square by default. By setting this property, FlexCel will try to find a font that supports this character in this list, and if found, use that font to render the character.
Fills the interior of a rectangle specified by a pair of coordinates, a width, and a height. No line is drawn around the rectangle. Brush to fill. Returns the font height on points * Scale. (1/72 of an inch * Scale) Font to measure. Font height. Determines what fonts will be embedded on the generated pdf. Note that when using UNICODE fonts WILL BE EMBEDDED no matter the value of this property. Returns the font height on points * Scale. (1/72 of an inch * Scale) Font to measure. Font height. Returns the font white space on points * Scale. (1/72 of an inch * Scale) Font to measure. The blank space between lines. Determines how fonts will be replaced on the generated pdf. Pdf comes with 4 standard font families, Serif, Sans-Serif, Monospace and Symbol. You can use for example the standard Helvetica instead of Arial and do not worry about embedding the font. When is set to embed the fonts, this setting determines if the full font will be embedded, or only the characters used in the document. If the full font is embedded the resulting file will be larger, but it will be possible to edit it with a third party tool once it has been generated. Retuns all the bookmarks on the file. Note that this will returna COPY of the bookmarks, so changing them will not change them in the file. You ned to use to replace the new list. Existing bookmarks on the file. Use this event if you want to provide your own font information for embedding. Note that if you don't assign this event, the default method will be used, and this will try to find the font on the Fonts folder. To change the font folder, use event Use this event if you want to provide your own font information for embedding. Normally FlexCel will search for fonts on [System]\Fonts folder. If your fonts are in other location, you can tell FlexCel where they are here. If you prefer just to give FlexCel the full data on the font, you can use event instead. Returns the drawing matrix in use. The elements in this matrix are similar to the ones returned by and have the same meaning. Important remark. This matrix is the real one, and does not consider things like or . You will probably want to use to find out the coordinates of a point. The internal transformation matrix. Creates an Hyperlink on the selected region with the specified Url. x coord. y coord. Width of the region. Height of the region. Url where to navigate to. Creates an Hyperlink on the selected region with the specified Url. x coord. y coord. Width of the region. Height of the region. Url where to navigate to. Intersects the current clipping region with the new one. There is no command to reset or expand a clipping region, you need to use and By default, pdf does not do any kerning with the fonts. This is, on the string "AVANT", it won't compensate the spaces between "A" and "V". (they should be smaller) If you turn this property on, FlexCel will calculate the kerning and add it to the generated file. The result file will be a little bigger because of the kerning info on all strings, but it will also look a little better. Returns the size of a string in points * Scale. (1/72 of an inch * Scale) String to measure. Font to measure Size of the string in points. Closes the active page and creates a new one. All following commands will go to the new page. Use this event if you want to manually specify which fonts to embed into the pdf document. Sets the default page layout when opening the document. Page size of the active page. You can change it *before* calling NewPage() and it will change for the new sheets. Note that once NewPage() (or BeginDoc() for the first page) is called, the page size will remain constant for that page. This property must be changed before. Properties of the PDF file. Restores the graphic state saved by a call. Rotates the canvas around point (x,y). Point where the canvas is rotated. Point where the canvas is rotated. Angle in degrees. Saves the current graphic state. Be sure to always call each time you call this method. A scale factor to change X and Y coordinates. When Scale=1, the using is the point (1/72 of an inch). Font size is not affected by scale, it is always in points. Scales the canvas. It premultiplies the matrix, to keep the correct order. X Scale Y Scale Replaces the bookmarks on the file with other list. The new list will be copied, so you can change the old list after setting it and it will not affect the file. List to replace. If null, bookmarks will be cleared. Signs the pdf documents with the specified or . Note: This method must be called before calling Signature used for signing. Set it to null to stop signing the next documents. Transforms the point according to the current transformation Matrix. See to get the actual matrix. Point you want to map to the user coordinates. When true, the y axis origin corresponds to the upper corner of a sheet and bigger Y coordinates will move down on the paper. This is the standard GDI+ behavior. When false, the Y origin is at the bottom and it grows up into the page. This is the standard PDF behavior. An entry on the Bookmark list for a PDF file. Creates a new TBookmark instance. Title of the bookmark item. Page where the bookmark points to. If true all children from this bookmark will be collapsed. Creates a new TBookmark instance. Title of the bookmark item. Page where the bookmark points to. If true all children from this bookmark will be collapsed. Text color for the bookmark entry. Text style for the bookmark entry. Adds a new child of this bookmark on the outline. Child bookmark to add. Returns a list of all open children of this bookmark. Mostly for internal use. Returns one child of the current bookmark. Number of child to get. i-th Child of the bookmark. Returns the number of children of this bookmark. If true, all children of this bookmark will be collapsed. Returns a deep copy of this object. Page where the bookmark points to. Text color for the bookmark entry. Text style for the bookmark entry. Title of the bookmark item. A list of bookmarks. Creates a new instance of TBookmarkList. Adds a new bookmark to the list. Returns the count of all open bookmarks in all levels. Removes all items on the list. Returns a deep copy of this object. Number of items on the list. An enumerator for this collection. An enumerator for this collection. Returns item at position index on the list. Removes item at position index on the list. Position where to remove the bookmark. This enum indicates the text style for a bookmark entry. You can combine the entries by or'ing them together. Normal text. Italic text. Bold text. This class will create instances of the Built-in singer. Creates a new instance of this class. CmsSigner used to sign the pdf files. Creates a new Builtin Signer. The way fonts will be embedded on the resulting pdf file. No font will be embedded. The result file will be smaller, but the file might not look fine on a computer without the font installed. It is recomended that you embed the fonts. All fonts will be embedded. The file will be larger than when not embedding fonts, but it will print on any computer. Note that you can control which fonts to embed wnd which not with the OnFontEmbed event. This is a compromise between embedding all fonts and not embedding them. It will only embed fonts with symbols, and leave normal fonts not embedded. How fonts will be replaced on the generated PDF file. Arial will be replaced with Helvetica, Times new roman with Times and True type Courier with PS1 Courier. All other fonts will remain unchanged. Serif fonts will be mapped to Times, MonoSpace to Courier, Sans-Serif to Helvetica and Symbol fonts to Symbol. Using this option you can get the smallest file sizes and 100% portability, but the resulting file will only use those fonts. Use it with care, specially if you use symbol fonts. All actual fonts will be used. If you use this option and do not embed fonts, the fonts will look bad on computers without them installed. If you embed fonts, files will be larger. Determines if full fonts will be embedded in the generated pdf files, or only the characters being used. All characters of the font will be embedded into the file. This setting creates bigger files, but they can be edited after generated. Only characters actually used by the document will be embedded into the file. This will create smaller files than embedding the full font, but it will be difficult to edit the document once it has been created. Viewer settings when the document is opened for the first time. Keep the layout as defined by the user. Show the Outlines pane when opening the document. Show the thumbs pane when opening the document. Open the document in FullScreen mode. Changes allowed in a signed PDF document. No changes to the document are permitted; any change to the document invalidates the signature. Permitted changes are filling in forms, instantiating page templates, and signing; other changes invalidate the signature. Permitted are filling in forms, instantiating page templates, and signing, as well as annotation creation, deletion, and modification; other changes invalidate the signature Icon for a pdf comment A callout icon.. A ? inside a circle icon. A triangle icon. A key icon. A small triangle icon. A sheet of paper icon. A "Pi" icon. Properties for a PDF comment. Creates a new TPdfCommentProperties instance based on the data form another instance. Creates a new instance of a comment object. Background color for the comment. Only visible if is NOT Text Type of comment. Icon for the comment. Only visible if is Text Line color for the comment. Only visible if is NOT Text A value between 0 and 1 specifying the opacity of the note. Different types of comments. An icon that will show the comment. A rectangle including the comment. A Circle or ellipsis including the comment. Represents a destination inside a PDF document. Creates a new TPdfDestination instance. Page where the destination points to. (1 based) Creates a new TPdfDestination instance. Page where the destination points to. (1 based) Zoom options for this destination. Returns a deep copy of this object. Page where the destination will point to. (1 based) Zoom options for this destination. A class for reading a PNG image. Mostly for internal use, but it can return some very basic information on a PNG file too. Returns the basic information on a png file. Null if the file is not PNG. Stream with the image data. Null if the image is invalid, or the image properties otherwise. Encapsulates the document properties for the PDF file. Creates a new instance of the class. All properties are set to null. Creates a new instance of the class with given properties. Document title. Document author. Document subject. Keywords to search on the document. Application that created the document. Document author. Application that created the document. Keywords to search on the document. Document subject. Document title. Describes a non visible signature for a PDF file. For a visible signature, use Creates an invisible signature. For a visible signature, create a class. See See See See See Specifies which changes are allowed in the signed pdf. Information provided by the signer to enable a recipient to contact the signer to verify the signature; for example, a phone number. The CPU host name or physical location of the signing. Leave it null for not specifying a location. Name to be given to the signature. This will be displayed in the "signatures" tab, and acrobat normally names it "Signature". It cannot be null. Note: Signature names cannot contain dots. An exception will be thrown if you try to enter a name with a dot here. The reason for the signing, such as "I agree...". Leave it null if you do not want to specify a reason. Sign Date. Use DateTime.MinValue to use the current date. Object that implements the actual signing. Represents an abstract class to create a pdf PKCS7 DER encoded signature. Descend from this class to create your own SignerFactory implementations. Initializes a new instance of the class Disposes this instace. Override this method to dispose your own objects in your descending classes. If true, this is a direct call to Dispose(), and you need to dispose both managed and unmanaged resources. If false, this is called by the finalizer, and you only need to release unmanaged resources. Returns the estimated length for the data that will be returned in . Note that this method will be called before finishing the pdf, so you still don't know what the final signature will be. You can return a number larger than what will return at the end of the pdf creation, but never smaller. Finalizer for the class. This method is called only once at the end of the pdf creation. It should release all handles and temporary memory used to calculate the data hash, and return a PKCS7 DER-encoded signature. a PKCS7 DER-encoded signature. This method is called each time new data is added to the pdf. When overwriting this method, use it to incrementally calculate the hash of the data. Data written to the pdf. Offset in buffer where to start writing data. Number of bytes from buffer that will be written. Override this factory when creating your own class, so it is returned here. Initializes a new instance of the class This method should return an instance of your customized class. A new TPdfSigner instance. Do not reuse instances, always return a new instance here since it will be disposed. Tokens for creating a PDF file. Internal use. Pdf header for acrobat 5. Pdf header for acrobat 7. Comment with more than 4 bytes>128. ( ) \ << >> null XRef section. Begin of a trailer section. XRef subsection inside trailer. Last line of the file. Size keyword. Root keyword. Info Keyword. /Type /Kids /Count /First /Last Indirect object End of an indirect object. A call to an indirect object. /length stream endstream Pages Page /Contents /Parent Catalog [ ] Producer of the document. Windows font folder. Describes a visible signature in a PDF file. For an invisible signature, see . Creates a new visible signature for a PDF file. See See See See See See See See The image that will be shown in the signature as an array of bytes. Page where the signature will go. (1 based). Use 0 to place the signature at the last page. Rectangle where the signature will go in the page. It is measured in points (1/72 of an inch) from the left lower corner of the page. Basic information about a PNG file. Creates a new TPngInformation class. Bith depth of the image. Png ColorType (See png reference for more information) Png Compression method (See png reference for more information) Height of the image on pixels. Width of the image on pixels. Zoom options for a PDF destination. None, leave the zoom unchanged. Display the page with its contents magnified just enough to fit the entire page within the window both horizontally and vertically. If the required horizontal and vertical magnification factors are different, use the smaller of the two, centering the page within the window in the other dimension. Display the page with the vertical coordinate top positioned at the top edge of the window and the contents of the page magnified just enough to fit the entire width of the page within the window. Display the page with the horizontal coordinate left positioned at the left edge of the window and the contents of the page magnified just enough to fit the entire height of the page within the window. A component for exporting an Excel file to HTML. Creates a new FlexCelHtmlExport instance. Creates a new FlexCelHtmlExport and assigns it to an ExcelFile. ExcelFile containing the data this component will export. Creates a new FlexCelHtmlExport and assigns it to an ExcelFile, setting AllowOverwritingFiles to the desired value. ExcelFile containing the data this component will export. When true, existing files will be overwrited. Determines if FlexCel will automatically delete existing HTML and image files or not. This affects how the text is rendered for example when exporting a chart. Some modes will look a little blurred but with better quality. Consult the .NET framework documentation on SmoothingMode for more information If this property is not null, all hyperlinks stating with this value will be converted to relative links, by removing this string form them.
Hyperlinks in Excel must be absolute by default, so this property is a way to get relative hyperlinks.
For example, if BaseUrl is "http://www.tmssoftware.com/" and an Excel file has a link "http://www.tmssoftware.com/test.html" the link in the generated HTML file will be "test.html"
Cancels a running export. This method is equivalent to setting = true. If true the export has been canceled with method. You can't set this variable to false, and setting it true is the same as calling . Prefix to be appended to all CSS classes. For example, if you set it to "test", CSS classes will be named like ".test1234". Normally you do not need to change this property, but if you need to insert multiple Excel files in the same HTML page, you need to ensure all classes have an unique ClassPrefix. This method is for internal use. Exports the active sheet of the associated xls workbook to a TextWriter. Note that you need to supply the stream for saving the images in the event (if you want to save the images). TextWriter where the result will be written. FileName used to generate the supporting files. If you leave it null, no images will be saved as there will not be filename for them. Use this parameter to store all CSS information in an external file. Set it to null if you want to store the CSS inside the HTML file. If you want to share the CSS between multiple files, make sure you pass the same css parameter to all Export calls. Exports the active sheet of the the associated xls workbook to a file. CSS will be saved internally in the file. File name of the html file to be created. Folder where images will be stored, relative to the main file. If for example htmlFileName is "c:\reports\html\index.htm" and relativeImagePath is "images", images will be saved in folder "c:\reports\html\images". If this parameter is null or empty, images will be saved in the same folder as the html file. Exports the active sheet of the the associated xls workbook to a file. File name of the html file to be created. Folder where images will be stored, relative to the main file. If for example htmlFileName is "c:\reports\html\index.htm" and relativeImagePath is "images", images will be saved in folder "c:\reports\html\images". If this parameter is null or empty, images will be saved in the same folder as the html file. Use this parameter to store all CSS information in an external file. Set it to null if you want to store the CSS inside the HTML file. If you want to share the CSS between multiple files, make sure you pass the same css parameter to all Export calls. Exports the active sheet of the the associated xls workbook to a file. File name of the html file to be created. Folder where images will be stored, relative to the main file. If for example htmlFileName is "c:\reports\html\index.htm" and relativeImagePath is "images", images will be saved in folder "c:\reports\html\images". If this parameter is null or empty, images will be saved in the same folder as the html file. Name for the Css file, with a path relative to the htmlPath. If you set it to null, no css file created and the css will be stored inside each HTML file. If for example htmlpath is "c:\reports" and relativeCssFileName is "css\data.css" the css file will be saved in "c:\reports\css\data.css" Exports all visible sheets in an xls file one after the other in the same html stream. Stream where the HTML file will be saved. The filename itself won't be used (since the html file is saved to a stream), but it will tell the path where the generated extra files (for example images) will be stored, and also the way images are named. Folder where images will be stored, relative to the path in htmlFileName. If for example htmlFileName is "c:\reports\html\test.htm" and relativeImagePath is "images", images will be saved in folder "c:\reports\html\images". If this parameter is null or empty, images will be saved in the same folder as the html file. Name for the Css file, with a path relative to the htmlFileName Path. if you set it to null, no css file created and the css will be stored inside each HTML file. If for example htmlFileName is "c:\reports\test.htm" and relativeCssFileName is "css\data.css" the css file will be saved in "c:\reports\css\data.css" An HTML string to write between all the different sheets being exported. You can use for example <hr /><p>Sheet <#SheetName></p> here to add an horizontal line. You can also use the special macros <#SheetName>, <#SheetCount> and <#SheetPos> here to enter the current sheet name, the number of sheets and the current sheet respectively. The macros are case insensitive, you can enter them in any combination of upper and lower case. Exports all visible sheets in an xls file one after the other in the same html file. Path where the generated html file will be stored. Folder where images will be stored, relative to the path in htmlFileName. If for example htmlFileName is "c:\reports\html\test.htm" and relativeImagePath is "images", images will be saved in folder "c:\reports\html\images". If this parameter is null or empty, images will be saved in the same folder as the html file. Name for the Css file, with a path relative to the htmlFileName Path. if you set it to null, no css file created and the css will be stored inside each HTML file. If for example htmlFileName is "c:\reports\test.htm" and relativeCssFileName is "css\data.css" the css file will be saved in "c:\reports\css\data.css" An HTML string to write between all the different sheets being exported. You can use for example <hr /> here to add an horizontal line. You can also use the special macros <#SheeName>, <#SheeCount> and <#SheePos> here to enter the current sheet name, the number of sheets and the current sheet respectively. The macros are case insensitive, you can enter them in any combination of upper and lower case. This method will export all the visible sheets on an xls file to an html file, writing each sheet in a different file. This is equivalent to calling Export on every sheet. Path where html files will be stored. (one per sheet in the workbook) This is a string that will be added to every file generated, at the beggining of the filename. For example, if htlmFileNamePrefix = "test_" and htmlFileNamePostfix = ".html", "sheet1" will be exported as "test_sheet1.html". If generating a single file (MHTML format), htmlFileNamePrefix + htmlFileNamePostFix will be used, without a sheet name. This is a string that will be added to every file generated, at the end of the filename. Make sure you include the extension here. For example, if htlmFileNamePrefix = "test_" and htmlFileNamePostfix = ".html", "sheet1" will be exported as "test_sheet1.html" If generating a single file (MHTML format), htmlFileNamePrefix + htmlFileNamePostFix will be used, without a sheet name. Folder where images will be stored, relative to the htmlPath. If for example htmlPath is "c:\reports\html" and relativeImagePath is "images", images will be saved in folder "c:\reports\html\images". If this parameter is null or empty, images will be saved in the same folder as the html files. Name for the Css file, with a path relative to the htmlPath. Note that the css will be shared among all sheets, so only one file will be created. if you set it to null, no css file created and the css will be stored inside each HTML file. It is recommended that you provide an extenal name here, so the CSS is shared webpages are smaller. If for example htmlpath is "c:\reports" and relativeCssFileName is "css\data.css" the css file will be saved in "c:\reports\css\data.css" Information about how to draw the tabs that will allow you to switch between the sheets. Set it to null if you do not want to include a sheet selector. When true FlexCel will insert a span in the first cell of every named range with "id" = the name of the range. You can access then this with javascript.

For a fine grain control of how names are exported, you can use event.
Extra information to be added to the HTML file. By default, Internet explorer does not support transparent PNGs. Normally this is not an issue, since Excel does not use much transparency. But if you rely on transparent images and don't want to use gif images instead of png, you can set this property to true. It will add special code to the HTML file to support transparent images in IE6.
Note: If setting this property to false, you might want to set to Color.White instead of ColorUtil.Empty to ensure images have no transparent background.
Some older browsers (and Word 2007) might not support the CSS white-space tag. In this case, if a line longer than a cell cannot be expanded to the right (because there is data in the next cell) it will wrap down instead of being cropped. This fix will cut the text on this cell to the displayable characters. If a letter was displayed by the half on the right, after applying this fix it will not display. This fix is automatically applied when is selected, so there is normally no reason to apply it. You might get a smaller file with this fix (if you have a lots of hidden text), but the display will not be as accurate as when it is off, so it is reccomended to keep it off. Outlook 2007 renders HTML worse than previous versions, since it switched to the Word 2007 rendering engine instead of Internet Explorer to show HTML emails. If you apply this fix, some code will be added to the generated HTML file to improve the display in Outlook 2007. Other browsers will not be affected and will still render the original file. Turn this option on if you plan to email the generated file as an HTML email or to edit them in Word 2007. Note that the pages will not validate with the w3c validator if this option is on. Contains all the generated files by the component. Note that it might contain files not actually generated, if an error happened while trying to create them. Use this event to customize where to save the images when exporting to HTML. Override this property when creating your own descendant. This method should return true if there is any event attached to it. Style definition for the gutter cells when printing row numbers or column names. This text must be a valid CSS style definition, without including the braces ("{}"). Width in points of the left gutter when printing row numbers and column names. Select which kind of objects should not be exported to html. By default we do *not* export headers and footers, since they are normally not what you want when exporting to HTML. Format of the HTML file to be generated. Use this event to customize the fonts used in the exported file. Version of the HTML generated. When this property is true and the component tries to write any file that is locked by other thread, it will not raise an error and just assume the other thread will write the correct image. You will normally want to have this true, so you can have many threads writing to the same file without issues. Note that when is false, this property has no effect. When this property is set to ColorUtil.Empty (the default), images will be rendered with a transparent background. While this is the normal behavior, sometimes you might not want transparent images (for example to support Internet Explorer 6 without setting to true), and then you could use Color.White here. This property defines how the images will be named by FlexCel. You can always override the name using the event. Resolution for the exported images. The bigger the resolution, the bigger the image size and quality. Use 96 for standard screen resolution. This affects how the images, charts, etc are rendered for the image file. Some modes will look a little blurred but with better quality. Consult the .NET framework documentation on SmoothingMode for more information Use this event to customize how a named range if exported to the HTML file. Note that for this event to be called, you first need to set = true. If you want to change the id that will be exported or exclude certain named from being exported, you can do so here. Replace this event when creating a custom descendant of FlexCelHtmlExport. Replace this event when creating a custom descendant of FlexCelHtmlExport. Replace this event when creating a custom descendant of FlexCelHtmlExport. Replace this event when creating a custom descendant of FlexCelHtmlExport. This method is designed to export a part of the HTML inside other HTML file. You should call this method once for every file you wish to export, in order to let FlexCel consolidate the needed CSS classes and information into the partialExportState parameter. Once you have "filled" the partialExportState object with all the information on files you wish to export, you can call the methods in partialExportState to write the CSS or body parts of the HTML file.

Note that this overload version will automatically save the images to disk when needed. If for any reason you do not want to save the images, use the overload with SaveImagesToDisk parameter.

Object where we will collect all the css and needed information on the files being exported. Call this method once for every sheet you want to export, using the same partialExportState parameter. Name of the stored html file. This affects the path where images will be saved, and also the way images will be named. Path relative to the path of htmlFileName, where images will be stored.
This method is designed to export a part of the HTML inside other HTML file. You should call this method once for every file you wish to export, in order to let FlexCel consolidate the needed CSS classes and information into the partialExportState parameter. Once you have "filled" the partialExportState object with all the information on files you wish to export, you can call the methods in partialExportState to write the CSS or body parts of the HTML file. Object where we will collect all the css and needed information on the files being exported. Call this method once for every sheet you want to export, using the same partialExportState parameter. Name of the stored html file. This affects the path where images will be saved, and also the way images will be named. Path relative to the path of htmlFileName, where images will be stored. When true, any image found in the file will be saved to disk (to relative imagepath) as the file is added. If false, the links for the image will be written but no image will be saved to disk, you have to do this yourself. Note that when saving MHTML files this parameter doesn't matter, since images will not be saved to disk anyway. Last row to print (1 based). if this or any other PrintRange property is 0, the range will be automatically calculated. First column to print (1 based). if this or any other PrintRange property is 0, the range will be automatically calculated. Last column to print (1 based). if this or any other PrintRange property is 0, the range will be automatically calculated. First row to print (1 based). if this or any other PrintRange property is 0, the range will be automatically calculated. Progress of the export. This variable must be accessed from other thread. File format in which the images will be saved. Note that Ie6 does not support transparency in PNGs by default, so if you have transparent images and you want to make you page compatible with IE6, you should save as gif or use Use this event to save the images into other place. Note that this event only fires when saving HTML, not MTHML. This affects how the images, charts, etc are rendered for the image file. Some modes will look a little blurred but with better quality. Consult the .NET framework documentation on SmoothingMode for more information When exporting to MHTML, some mail clients might have problems understanding the newer "Content-Location" header to show the images. When this property is true, we will use the older "Content-Id" header that is better supported than Content Location in the mime headers to reference the images. You are strongly encouraged to keep this property true in order to maximize the number of mail readers compatible. When Exporting to HTML (not MHTML), this property has no effect. When true and text is vertical, FlexCel will replace the text with an image in order to show it correctly in HTML. When false, text will be rendered normally without rotation. The ExcelFile to export. Indicates how much of the report has been generated. The row that is being written. The sheet we are exporting. The total number of rows exporting. A component for exporting an Excel file to an image. It can return an image object, or the actual bytes of an specific file format. (like gif, tiff or png) Creates a new FlexCelImgExport instance. Creates a new FlexCelImgExport and assigns it to an ExcelFile. ExcelFile containing the data this component will export. Creates a new FlexCelImgExport and assigns it to an ExcelFile, setting AllowOverwritingFiles to the desired value. ExcelFile containing the data this component will export. When true, existing files will be overwrited. Fires after the image has been drawn, allowing to modify it. Determines if FlexCel will automatically delete existing image files or not. If true, All visible sheets on the workbook will be printed. See for behavior of the page number when printing multiple sheets. Fires before drawing the image, allowing to modify it or to modify the XlsFile associated. Exports the associated xls workbook to a graphics stream. You need to provide a Graphics object with the correct dimensions. (To get the needed dimensions, use Graphics where the image will be stored. Set it to null to skip the page. Information needed to export, cached for speed. The first time you call this method (or when you change xls.ActiveSheet), make exportInfo=null Exports the associated xls workbook to a stream. Stream where the image will be exported. Pixel depth for the created image. Format for the saved image Information needed to export, cached for speed. The first time you call this method (or when you change xls.ActiveSheet), make exportInfo=null Exports the associated xls workbook to a file. File to export. Format for the created image. Format for the saved image Information needed to export, cached for speed. The first time you call this method (or when you change xls.ActiveSheet), make exportInfo=null Returns information needed for exporting multiple pages on one sheet. You normally don't need to use this method, but you can use it to speed up multiple displays. Returns the page dimensions for the active sheet. You can use it to create a bitmap to export the data. Returns the page dimensions for a sheet. You can use it to create a bitmap to export the data. Select which kind of objects should not be printed or exported to the image. Replace this event when creating a custom descendant of FlexCelImgExport. Replace this event when creating a custom descendant of FlexCelImgExport. Image page size. Set it to null to use the paper size on the xls file. Last row to print (1 based). if this or any other PrintRange property is 0, the range will be automatically calculated. First column to print (1 based). if this or any other PrintRange property is 0, the range will be automatically calculated. Last column to print (1 based). if this or any other PrintRange property is 0, the range will be automatically calculated. First row to print (1 based). if this or any other PrintRange property is 0, the range will be automatically calculated. This property only makes sense when is true. On that case, if this property is true each sheet of the workbook will have the page number reset. For example if the xls file has 2 sheets and each has 3 pages: When ResetPageNumberOnEachSheet = true then footers will look like "Page 1 of 3". If false, they will look like "Page 5 of 6" "The default resolution on pixels per inch for the rendered images. For the screen, this is 96." Saves the current Excel file on an image stream. Stream where the image will be saved. Image format. Color depth for the image, if applicable. Some formats (like fax, that is monochrome) do not allow different color depots. Saves the current Excel file as an image file. File where the image will be saved. Image format. Color depth for the image, if applicable. Some formats (like fax, that is monochrome) do not allow different color depths. Return the pages to print. This is a costly operation, so cache the results. The ExcelFile to print. A component for exporting an Excel file to PDF. Creates a new FlexCelPdfExport instance. Creates a new FlexCelPdfExport and assigns it to an ExcelFile. ExcelFile containing the data this component will export. Creates a new FlexCelPdfExport and assigns it to an ExcelFile, setting AllowOverwritingFiles to the desired value. ExcelFile containing the data this component will export. When true, existing files will be overwrited. Fires after each new page is generated on the pdf, and after all content is written to the page. (The page is written) You can use this event to add some text or images on top of the page contents. Determines if FlexCel will automatically delete existing pdf files or not. Fires after each new page is generated on the pdf, but before any content is written to the page. (The page is blank) You can use this event to add a watermark or a background image. Fires before each new page is generated on the pdf. You can use this event to change the pagesize for the new sheet. Initializes the PDF exporting to a new file. After calling this method you can call to export different xls files to the same pdf. You should always end the document with a call to Stream that will contain the new pdf file. Calculates the actual spreadsheet range that will be printed. This is given by: 1)If you specified non zero values on PrintRange, this will be used. 2)If any value in PrintRange is zero and there is a Print Area defined on the spreadsheet, the Print Area will be used. 3)If there is no PrintRange and no Print Area defined, the visible cells on the sheet will be printed. The area that will be exported. Cancels a running export. This method is equivalent to setting = true. If true the export has been canceled with method. You can't set this variable to false, and setting it true is the same as calling . When true, the pdf file will be compressed. Returns the next page that we are going to print. Returns the next page we are going to print, on the current sheet. When not printing more than one sheet, it is equivalent to Writes the trailer information on a PDF file. Always call this method after calling Exports the active sheet of the associated xls workbook to a stream. Stream where the result will be written. Exports the active sheet of the the associated xls workbook to a file. File to export. This method will export all the visible sheets on an xls file to pdf. Different than calling ExportSheet for each sheet, this method can keep the page number growing on each sheet, without resetting it. If not null, each sheet will be added as an entry on the Bookmarks in the pdf file, under the name specified here. If you want the Bookmark window to be visible when you open the pdf file, set = Also, use the event to further customize what goes in each of the entries. If true, each new sheet will reset the page number shown on Excel headers and footers. Exports the activesheet on the current XlsFile. Exports the active sheet on the current XlsFile. You can define which is the first page to print and the global count of pages, so the page numbers on headers and footers of the excel file correspond with the actual pages on the pdf. Fist page that the headers and footers on the xls file will show. If you are exporting only one sheet to the pdf file, this can be 1. If you are exporting more than one sheet to the same pdf file, you will want to set StartPage to the actual page on the pdf. The total number of pages to display on Excel headers and footers. If you are exporting only one sheet to the pdf file, set it to -1, and it will be calculated automatically. If not, please suply here the total number of pages the file will have so FlexCel can show footers like "page 1 of 50" A semicolon (;) separated list of font names to try when a character is not found in the used font.
When a character is not found in a font, it will display as an empty square by default. By setting this property, FlexCel will try to find a font that supports this character in this list, and if found, use that font to render the character.
If true, the file will be compressed. This property is just for derived classes, for normal cases use Only for use in derived classes. Use instead. Only for use in derived classes. Use instead. Only for use in derived classes. Use instead. Only for use in derived classes. Use instead. Determines what fonts will be embedded on the generated pdf. Note that when using UNICODE, fonts will be embedded anyway, no matter what this setting is. Determines how fonts will be replaced on the generated pdf. Pdf comes with 4 standard font families, Serif, Sans-Serif, Monospace and Symbol. You can use for example the standard Helvetica instead of Arial and do not worry about embedding the font. Determines if the full font will be embedded or only the characters used, when embedding fonts. Only for use in derived classes. Use instead. Stream where the file will be saved. You can use this in a derived class to write your own data to the stream. Only for use in derived classes. Use instead. Only for use in derived classes. Use instead. Use this event to customize what goes inside the bookmarks when exporting multiple sheets of an xls file. Use this event if you want to provide your own font information for embedding. Note that if you don't assign this event, the default method will be used, and this will try to find the font on the Fonts folder. To change the font folder, use event Use this event if you want to provide your own font information for embedding. Normally FlexCel will search for fonts on [System]\Fonts folder. If your fonts are in other location, you can tell FlexCel where they are here. If you prefer just to give FlexCel the full data on the font, you can use event instead. Select which kind of objects should not be printed or exported to pdf. By default, pdf does not do any kerning with the fonts. This is, on the string "AVANT", it won't compensate the spaces between "A" and "V". (they should be smaller) If you turn this property on, FlexCel will calculate the kerning and add it to the generated file. The result file will be a little bigger because of the kerning info on all strings, but it will also look a little better. Replace this event when creating a custom descendant of FlexCelPdfExport. See also Replace this event when creating a custom descendant of FlexCelPdfExport. See also Replace this event when creating a custom descendant of FlexCelPdfExport. See also Use this event if you want to manually specify which fonts to embed into the pdf document. Replace this event when creating a custom descendant of FlexCelPdfExport. Sets the default page layout when opening the document. Pdf page size. Set it to null to use the paper size on the xls file. Writer where the pdf commands will be sent. Only for use in derived classes. Last row to print (1 based). if this or any other PrintRange property is 0, the range will be automatically calculated. First column to print (1 based). if this or any other PrintRange property is 0, the range will be automatically calculated. Last column to print (1 based). if this or any other PrintRange property is 0, the range will be automatically calculated. First row to print (1 based). if this or any other PrintRange property is 0, the range will be automatically calculated. Progress of the export. This variable must be accessed from other thread. Pdf file properties. Signs the pdf documents with the specified or . Note: This method must be called before calling Signature used for signing. Set it to null to stop signing the next documents. Returns the number of pages that the active sheet will use when exported to pdf. The ExcelFile to print. Indicates how much of the report has been generated. The page that is being written. The total number of pages exporting. A PrintDocument descendant that can be used to print and preview an Excel document. Creates a new FlexCelPrintDocument instance. Creates a new FlexCelPrintDocument and assigns it to an ExcelFile. ExcelFile containing the data this PrintDocument will print. If true, All visible sheets on the workbook will be printed. See for behavior of the page number when printing multiple sheets. When true, the text will be antialiased. Depending on the device display might look better, but it consumes more processor time. Fires before printing each sheet, so you can print and set up your own stuff before FlexCel renders the page. Returns the next page that we are going to print. Returns the next page we are going to print, on the current sheet. When not printing more than one sheet, it is equivalent to On .NET there is no way to get the actual physical margins of a printer without a p/invoke. As FlexCel doesn't contain p/invokes (in order to be portable to any platform), it will try to guess the best value for them by averaging the printer visible clip area. If you are not getting good results, you can let FlexCel know the real printer margins on this event. Normally, you would call GetDeviceCaps for this. Select which kind of objects should not be printed or exported to pdf. Replace this event when creating a custom descendant of FlexCelPrintDocument. Raises the BeginPrint event. It is called after the Print method is called and before the first page of the document prints. A that contains the event data. Raises the EndPrint event. It is called after the Print method has finished. A that contains the event data. Replace this event when creating a custom descendant of FlexCelPrintDocument. Raises the event. It is called before a page prints. A that contains the event data. Overrides the standard method to change landscape or portrait settings when is true. You can override this method on a descendant class to change the behavior./> Arguments of the event. Last row to print (1 based). if this or any other PrintRange property is 0, the range will be automatically calculated. First column to print (1 based). if this or any other PrintRange property is 0, the range will be automatically calculated. Last column to print (1 based). if this or any other PrintRange property is 0, the range will be automatically calculated. First row to print (1 based). if this or any other PrintRange property is 0, the range will be automatically calculated. This property only makes sense when is true. On that case, if this property is true each sheet of the workbook will have the page number reset. For example if the xls file has 2 sheets and each has 3 pages: When ResetPageNumberOnEachSheet = true then footers will look like "Page 1 of 3". If false, they will look like "Page 5 of 6" The ExcelFile to print. Converts a true color image to black and white using Floyd-Steinberg dithering. Needs UNMANAGED permissions in order to process the bits of the image. Converts a true color image to black and white, using Floyd-Steinberg error diffusion. The image we want to convert. Must be on Format32bppPArgb The converted black and white image. Converts a true color image to black and white, using Floyd-Steinberg error diffusion. Image to convert. Must be on Format32bppPArgb. Here we will draw the converted image. Must be Format1bppIndexed and have the same size as Source. Arguments passed on , Creates a new Argument. The file we are processing. The page that is being generated. 0 means the global bookmark parent of all the sheets. The page that is being generated, relative to the sheet. Bookmark that we are about to include. you can customize it on this event. Bookmark that we are about to include. Page currently printing. 0 means the global bookmark parent of all the sheets. Page currently printing, relative to the active sheet. The file with the pdf data. This event will happend each time a PDF bookmark is automatically added by FlexCel. You can use it to customize the bookmark, for example change the font color or style. Number of colors for the exported images. 24 bits per pixel. 8 bits per pixel, 256 colors. 1 bit per pixel, 2 colors (black and white). Defines how you want to export the sheet. Export as png image. Only the first page of the Excel active sheet will be exported. Export as gif file. Only the first page of the Excel active sheet will be exported. Export as jpg file. Only the first page of the Excel active sheet will be exported. Export as multipage tiff. Export as a black and white multipage tiff ccitt3 compatible with standard fax. Export as a black and white multipage tiff ccitt4 compatible with standard fax. Arguments passed on , Creates a new Argument. See See See See See See See See See Alternate text for the image, to show in the "ALT" tag when a browser cannot display images. By default this is set to the text in the box "Alternative Text" in the web tab on the image properties. If no Alternative text is supplied in the file, the image name will be used here. Hyperlink where the image will point to. This is automatically read from the image hyperlink if it has one, but you can modify, delete or add a new hyperlink for any image with this property. The file where the image will be saved. If is not null, this property will do nothing. If both this property and are null, the image will not be saved. When saving as MHTML this parameter does nothing, since all images will be saved in the same MTHML stream. The link that will be inserted in the html file. Change it if you change the default image location. Set it to null to not add a link to this image in the generated html file. If you want to avoid exporting all images, you can use for that. But if you just want to avoid exporting one image in a file, you can do it by setting , and this property to null. The stream where the images will be saved. Keep it null to store the image as a file using . When saving as MHTML this parameter does nothing, since all images will be saved in the same MTHML stream. Object index of the object being rendered. You can use xls.GetObject(objectIndex) to get the object properties, or you can use this property to attach an unique number in the sheet to the image filename. If the image is not an object (for example it is a rotated text) this property will be -1. File format in which to save this image. Do not modify it to keep the default format. Shape properties of the object being rendered. You can use them to get the name of the object, its size, etc. If the image is not an object (for example it is a rotated text) this property will be null. ExcelFile with the image, positioned in the sheet that we are rendering. Make sure if you modify ActiveSheet of this instance to restore it back to the original value before exiting the event. Delegate used to specify where to store the images on a page. Arguments passed on Paint events. Creates a new Argument. Gets the graphics used to paint. Gets the rectangle in which to paint. The page we are printing. The page we are printing, relative to the current sheet. The total number of page we have available to export. Gets the current page number. Gets the current page number, relative to the active sheet. Gets the graphics used to paint. Gets the rectangle in which to paint. Gets the total number of pages available to export. Arguments passed on , Creates a new Argument. Column index (1 based) of the html cell we are exporting. This number should be the same as the first column in the . Named range that is being exported. This property is by default the same as .Name. If you want to change the id of the span that will be exported to HTML, change it to the new value. To not export this name, set it to null. Row index (1 based) of the html cell we are exporting. This number should be the same as the first row in the . Sheet index (1 based) of the html cell we are exporting. ExcelFile with the name, positioned in the sheet that we are rendering. Make sure if you modify ActiveSheet of this instance to restore it back to the original value before exiting the event. Delegate used to customize exporting of named ranges on a page. Reduce the number of colors of an image. This class needs UNMANAGED permissions in order to be able to modify the bits in the image. Constructs the octree quantizer. The maximum number of colors to return The number of significant bits Converts an image to 256 colors. Image we want to convert. Converted image. Converts an image to 256 colors. Image we want to convert. Converted image. Retrieve the palette for the quantized image Any old palette, this is overrwritten The new color palette Process the pixel in the first pass of the algorithm The pixel to quantize Override this to process the pixel in the second pass of the algorithm The pixel to quantize The quantized value Arguments passed on , and Creates a new Argument. The file we are processing. The page that is being generated. The page in the current sheet that is being generated. Page currently printing. Page currently printing on the sheet printing. The file with the pdf data. Generic delegate for After/Before page events. Delegate for Paint events. Arguments passed on . Creates a new Argument. Graphics context you can use to call GetHdc() The X printer physical margin in inches / 100. The Y printer physical margin in inches / 100. Delegate for getting the printer physical margins. A generic implementation for any Color Quantizer. Constructs the quantizer. If true, the quantization only needs to loop through the Source pixels once Execute the first pass through the pixels in the image The Source data The width in pixels of the image The height in pixels of the image Retrieve the palette for the quantized image Any old palette, this is overrwritten The new color palette Override this to process the pixel in the first pass of the algorithm The pixel to quantize Quantize an image and return the resulting Result bitmap The image to quantize A quantized version of the image Override this to process the pixel in the second pass of the algorithm The pixel to quantize The quantized value Execute a second pass through the bitmap The Source bitmap, locked into memory The Result bitmap The width in pixels of the image The height in pixels of the image The bounding rectangle Arguments passed on , Creates a new Argument. See See See See See See See See Alternate text for the image, to show in the "ALT" tag when a browser cannot display images. By default this is set to the text in the box "Alternative Text" in the web tab on the image properties. If no Alternative text is supplied in the file, the image name will be used here. The file where the image is expected to be saved. The link that will be inserted in the html file. Image that will be saved. You can use it to save it yourself. Object index of the object being rendered. You can use xls.GetObject(objectIndex) to get the object properties. If the image is not an object (for example it is a rotated text) this property will be -1. Set this property to true if you have taken care of saving the image, and FlexCel does not need to save it. If you just used this event to get information on the image being saved, but would like to keep the normal flux, set it to false. File format in which the image is. Shape properties of the object being rendered. You can use them to get the name of the object, its size, etc. If the image is not an object (for example it is a rotated text) this property will be null. ExcelFile with the image, positioned in the sheet that we are rendering. Make sure if you modify ActiveSheet of this instance to restore it back to the original value before exiting the event. Delegate used to specify where to store the images on a page. Arguments passed on , Creates a new Argument. See See See See See Sheet index of the entry. This is equivalent to .ActiveSheet Text that will be written in this cell of the selector. Place where this entry should link to. Sheet we are currently rendering. You can compare if (RenderingSheet == ActiveSheet) to highlight the active sheet when drawing the selector. ExcelFile we are drawing the sheet selector in, positioned in the sheet that we are rendering. Make sure if you modify ActiveSheet of this instance to restore it back to the original value before exiting the event. Delegate used to specify how the Sheet Selector will be like. Can be used to clip into a region instead of drawing on it. Normal draw, this will draw the image. This will include the region into the clipping area, no image will be drawn. This will exclude the region from the clipping area, no image will be drawn. Encapsulates the information needed to create external CSS files. Note that if you use the same TCssInformation instance to create different html files, the CSS file created will be only one. Creates a new instance of TCssInformation. TextWriter where an external CSS file will be stored. If null, no CSS file will be created. A link to a CSS file might be still included if you set the Url to a non null value. URL of the css file that will be linked to this file. If null, all css information will be stored inside the html file. TextWriter where an external CSS file will be stored. If null, no CSS file will be created. A link to a CSS file might be still included if you set the Url to a non null value. URL of the css file that will be linked to this file. If null, no CSS file will be created and all CSS information will be stored inside the html file. An object containing all the files generated in the export. Clears all the files in the object. Name of the css files generated. Name of the html files generated. Name of the image files generated. Stores extra data to write in the HTML file. Initializes a new instance of the class Extra strings to be added before the closing </body> tag and after the table data. Extra strings to be added after the opening <body> tag and before the table data. Extra strings to be added before the closing </head> tag. Extra strings to be added after the opening <head> tag. Extra strings to be added in the meta section of the header. You could specify keywords here, for example. Title of the HTML file. If left null, the title of the page will be used. Possible values in which we can save an image when exporting to HTML. Save image as PNG. Note that transparency in PNG is not supported in ie6 unless you apply a fix. Save image as GIF. Image will be converted to 256 colors. Save image as JPEG. Note that transparency is not supported in JPEG. Holds information needed to export the pages, so it is only calculated once. Initializes a new instance of the class TImageInfo for the active sheet. Returns a deep copy of a TImgExportInfo. This method will work even if the source object is null. Last page printed. Sheet that is being printed. Sheet of the next page to print. Returns the Image export info for one of the sheets. Sheet on the list (1 based). Return the count of the sheets on the workbook. Returns the total count of pages if ResetPageNumberOnEachSheet is false, or the page number for the current sheet if true. Total pages to print for all the sheets. Holds information needed to export one of the workbbok sheets, so it is only calculated once. Initializes a new instance of the class Clones a TImageExportInfo even if it is null. Last page printed on this sheet. Limits of the page. Range that has been printed. Note that before printing, the values here are invalid and you should use Coordinates to print. Range that will be printed. Total pages on the ActiveSheet. This class is used to save the needed information to partially export a file. Creates a new instance of TPartialExportState. TextWriter where an external CSS file will be stored. If null, no CSS file will be created, even when a link to a external file might. URL of the css file that will be linked to this file. If null, all css information will be stored inside the html file. Number of parts added to this object. Writes the "</body>" end tag in the html file and the head/html end tags. It also finalizes the parts when saving to MHTML. TextWriter where we are going to save the results. Returns one of the images for one of the saved sheets. Index of the document where you want to retrieve the images. (1 based) Image index in the document. (1 based) Use this method to output the body information on this object to an HTML page. Writer where you are going to write the information. Index of the part that you wish to write. It must be 1 <= index <= Image path relative to the main file where the images will be saved. Note that this path does not apply to normal images. This is used for example to save the rotated text as images if this option is enabled. Use this method to output the CSS information on this object to the header of an HTML page. If you are using en external StyleSheet, this method will output a link to it, or if you are using an internal one it will output the actual classes. Writer where you are going to write the information. This method will output the full HTML headers needed to create an HTML file with the information in this object. If you wish to mix the output of the file with existing headers, you can use instead to get only the relevant information to mix in the headers, or to get only the CSS classes that need to be put in the header. Writer where you are going to write the information. File name of the file you are generating. There is no need to supply this parameter, it is only to add extra information to the generated file. You can leave it null. This method is a middle ground between and . It will output only the headers that you need to add to an existing HTML file in order to include the body inthe body part. This means that the tags like <html> are not included. Starts writing a body declaration. After calling this method, you should call for the parts you want to save, and end up with a call to TextWriter where we are going to save the results. Abstract class to implement a Sheet Selector. Derive from this class for example to implement tabs with images. For a standard implementation using CSS Tabs and divs, use Contructs a new TSheetSelector instance. Position where the Sheet selector will be placed. Remember you can 'or' together many values on the enumeration to for example have a selector at the top and at the bottom. Use this method to customize actions to do before the SheetSelector is drawn. In the implementation, this method is used to add a table for layout if is true. Note that this method is called once for each of the possible positions of Reference, even if you do not need to draw a selector in that position. The order in which this method will be called is: Top, Left, Right, Bottom. The position of the SheetSelector that is being created. you can use to know if this is one of the selectors you need to render. Use this method to customize actions to do after the SheetSelector is drawn. In the implementation, this method is used to add a table for layout if is true. Note that this method is called once for each of the possible positions of Reference, even if you do not need to draw a selector in that position. The order in which this method will be called is: Top, Left, Right, Bottom. The position of the SheetSelector that is being created. you can use to know if this is one of the selectors you need to render. Override this method on a child class if you want to completely customize how the Sheet Selector is drawn. Normally when deriving from you can just change the CSS properties of this class to customize the SheetSelector, but you can use this if you want to provide a completely different selector. You can use the collection to know which hyperlinks to place in each place. Note that different from , this method is only called for the positions where the selector has to be rendered. ExcelFile we are exporting. It is positioned on the sheet we are exporting, but its active sheet can be changed on this method and there is no need to restore it. It will be restored by the framework. Position where the sheet selector will be placed. Note that this method will always be called with only one value, but it might be called more than once if constants in the TSheetSelectorPosition enumeration are or'ed together. This method will encode an string so it is valid html. For example, it will replace "&" by "&amp;" in the text. String that you want to encode. Encoded string. A list of links that should go in the sheet selector, one per tab. Use them when creating your own sheet selector to know where to point the link in the tabs to. An enumerator defining all the positions where the SheetSelector will be drawn.Read it to know where to draw the selector. This method is in charge of writing the style definitions in the header of the html file. Note that when deriving from you normally do not need to override this method, you can just change the CSS properties of this class. You can override this method if you want full control on how to export the classes. Use this method to write a line inside the stream when overriding this class. Where to place the tabs for selecting a sheet when exporting multiple sheets. You might combine more than one, for example, to have tabs at the top and bottom: C#: TSheetSelectorPosition.Top | TSheetSelectorPosition.Bottom VB.NET, Delphi.NET: TSheetSelectorPosition.Top or TSheetSelectorPosition.Bottom Do not add tabs for the sheets. Add the tabs at the left of the html document. Add the tabs at the right of the html document. Add the tabs at the top of the html document. Add the tabs at the bottom of the html document. Implements a standard sheet selector (with CSS tabs) that will allow you to change the page when exporting multiple sheets. You can customize its default behavior by altering the CSS properties, or by inheriting from it and replacing the virtual methods. If you want to create a completely new type of sheet selector, derive it from instead of this class. Contructs a new TStandardSheetSelector instance. Position where the Sheet selector will be placed. Remember you can 'or' together many values on the enumeration to for example have a selector at the top and at the bottom. This method is overriden to add a table for layout when is true. See the documentation in for more information on this method. Style to be applied to the selector. This is a general setting, you can later further customize the style when the selector is at the Left, Top, Right or Bottom with the corresponding , , and properties. Style to be applied to the layout table if is true. Style to be applied to the sheet content. This property has a list of Macros that you can use in the CSS definitions. You can reference this value in the CSS properties by using <#variable>

For example, you could set a Macro "Mycolor" with CssTags.Add("mycolor", "red"); and then define a CssProperty: CssWhenTop.Main = "background-color:<#mycolor>";

This method by default contains the following Macros: width: Width of the selector when it is on the right or on the left.bordercolor: Color for the borders.pagecolor: Color of the page. This is normally white, and will be used in the color of the active tab, so it blends with the page background.activetabfg: Color for the text in the active tab. The default is black.unselectedtabbg: Color for the background of the unselected tabs. The default is gray, so the active tab stands out.unselectedtabfg: Color for the text in the unselected tabs.hoverbg: Color for the unselected tab when you hover the mouse over it.hoverfg: Color for the text of the unselected tab when you hover the mouse over it.

You can modify those Macros or add your own definitions here and use them when defining your CSS.

Note that the variables are not case sensitive. You can write them in any combination of lowercase and uppercase.
Specific style to be applied to the selector when it goes at the bottom. This style will override the style you specify with Specific style to be applied to the selector when it goes at the left. This style will override the style you specify with Specific style to be applied to the selector when it goes at the right. This style will override the style you specify with Specific style to be applied to the selector when it goes at the top. This style will override the style you specify with This method overrides the abstract parent to provide a CSS implementation for tabs. Override this method on a child class if you want to completely customize how the Sheet Selector is drawn. Normally you can just change the CSS properties of this class to customize the SheetSelector, but you can use this if you want to provide a completely different selector. You can use the collection to know which hyperlinks to place in each place. ExcelFile we are exporting. It is positioned on the sheet we are exporting, but its active sheet can be changed on this method and there is no need to restore it. It will be restored by the framework. Position where the sheet selector will be placed. Note that this method will always be called with only one value, but it might be called more than once if constants in the TSheetSelectorPosition enumeration are or'ed together. When this property is true (the default), both selectors at the left and at the right will be layed out in a table. This has the advantage that block will not wrap down when resizing the window. But if you would prefer not to use tables for layout, you can turn this property off, and the layout will be pure CSS (and it will wrap down when there is not enough space). If you do not have a selector in the left or the right this property does nothing. Replace this event when creating a custom descendant of TStandardSheetSelector. This is an utility method that will replace all teh <#...> macros inside a tag by its values. Normally you do not ned to call this method, since it is automatically by Use this event to customize the text and link on the individual tabs. The tab style itself must be modified with the CSS properties. When true (the default) and the sheets have a tab color defined in Excel, FlexCel will use this color to render the sheet tabs. If false, the default tab color will be used. Note that if the sheets don't have a color defined in Excel, also the default tab color will be used. This method is in charge of writing the style definitions in the header of the html file. Note that you normally do not need to override this method, you can just change the CSS properties of this class. You can override this method if you want full control on how to export the classes. This method is an utility to write all the classes of an TStandardSheetSelectorStyles class. Collection of rules to write. A string that will be added at the end of every rule name. This method is an utility to write one rule in a TStandarSheetSelectorStyles class. A string with the style for the class. It can contain Macros (<#...>) and they will be replaced when writing the rule. Name of the rule. A string to be added at the end of the rule name. Holds the styles for one of the positions of a . Initializes a new instance of the class Style to be applied to the Active tab. Style to be applied to the text of the selected tab. Style to be applied to the links in the unselected tabs. Note that the active tab does not have a link. Style of the list used for the different entries in the selector. this defaults to "list-style: none", but you can use something like "list-style: upper-roman inside" to for example place roman number on each text. Style to be applied to the whole Selector. Style to be applied to a tab when it is not the Active one. Style to be applied to an unselected tab when you hover the mouse over it. Configuration strings used in applying a part of a format. Internal use. Configuration strings. Internal use. SQL tag. Relationship tag. Distinct filter. Identifier for sql parameters on the config sheet. Split Tag on config sheet. User table tag on config sheet. Top n records in a dataset. An empty table with n rows. A table with the columns of other table. Component for creating reports on Excel based on a template. It will read an xls file, replace tags with data read from a database or memory, and save a new file with the data. Creates a new FlexCelReport component. Creates a new FlexCelReport component and sets the desired Overwrite mode for files. If false, FlexCelReport will never overwrite an existing file, and you have to delete it before creating it again. Adds an adapter to use from the template on the DIRECT SQL commands. For security reasons, make sure this adapter ONLY GRANTS READONLY ACCESS TO THE DATA This is the name you will use on the template to refer to this adapter. The adapter that will be used. The locale for the created tables. Adds an adapter to use from the template on the DIRECT SQL commands. For security reasons, make sure this adapter ONLY GRANTS READONLY ACCESS TO THE DATA This is the name you will use on the template to refer to this adapter. The adapter that will be used. The locale for the created tables. When true strings will be case sensitive, and "a" will be different from "A" Adds a relationship between two tables. Note that if your tables are datasets, or come from Entity Framework, or your master detail tables are nested, you probably don't need to call this method. FlexCel will detect the relationships automatically and use them. This method is only for when you have custom data with no DataRelationships (as in a dataset) and where detail tables are not nested to the master (as in Entity Framework). Master table for the relationship. Detail table for the relationship. Key fields in the master table that relate with the key fields in the detail table. Must not be null, and normally will be an array with a single field. It must be the same length as detailKeyFields/> Key fields in the detail table that relate with the key fields in the master table. Must not be null, and normally will be an array with a single field. Adds a relationship between two tables. Note that if your tables are datasets, or come from Entity Framework, or your master detail tables are nested, you probably don't need to call this method. FlexCel will detect the relationships automatically and use them. This method is only for when you have custom data with no DataRelationships (as in a dataset) and where detail tables are not nested to the master (as in Entity Framework). Master table for the relationship. Detail table for the relationship. Key fields in the master table that relate with the key fields in the detail table. Must not be null, and normally will be an array with a single field. It must be the same length as detailKeyFields/> Key fields in the detail table that relate with the key fields in the master table. Must not be null, and normally will be an array with a single field. Adds an SQL parameter to use from the template on the DIRECT SQL commands. Note that the parameter must have a name even if you are using positional parameters ("?") because on the template you should always write named parameters. The name of the parameter without special symbols, as it is written on the DIRECT SQL string. This might be different from the real parameter name. For example, on SQL Server, parameterName might be "MyParameter" while parameter.ParameterName would be "@MyParameter" The parameter to add. Use this method to load all tables on a dataset at once. This is equivalent to calling for each of the tables on the dataset. Dataset containing the tables to add. Use this method to load all tables on a dataset at once. When disposeMode is DoNotDispose, this is equivalent to calling for each of the tables on the dataset. If disposeMode is DisposeTable, this will make the same as calling AddTable() with disposeTable equal to false for each table on the dataset. and when fisnished all the dataset will be disposed. Dataset containing the tables to add. When disposeMode is TDisposeMode.DisposeTable, FlexCel will take care of disposing this dataset after running the report. Use it when adding datasets created on the fly, so you do not have to dispose them yourself. Use this method to add any custom object as a datasource for FlexCel. Make sure to read "Virtual Datasets" on UsingFlexCelReports.pdf. Use to add datasets. Name that the table will have on the report. Table that will be available in the report. Use this method to add any custom object as a datasource for FlexCel. Make sure to read "Virtual Datasets" on UsingFlexCelReports.pdf. Use to add datasets. Name that the table will have on the report. When disposeMode is TDisposeMode.DisposeTable, FlexCel will take care of disposing this table after running the report. Use it when adding tables created on the fly, so you do not have to dispose them yourself. Table that will be available in the report. Use this method to add any IEnumerable as a datasource for FlexCel. You can use this method to add LINQ tables. Use to add datasets. Name that the table will have on the report. Table that will be available in the report.

[Missing <typeparam name="T"/> documentation for "M:FlexCel.Report.FlexCelReport.AddTable``1(System.String,System.Collections.Generic.IEnumerable{``0})"]

Use this method to add any IEnumerable as a datasource for FlexCel. You can use this method to add LINQ tables. Use to add datasets. Name that the table will have on the report. When disposeMode is TDisposeMode.DisposeTable, FlexCel will take care of disposing this table after running the report. Use it when adding tables created on the fly, so you do not have to dispose them yourself. Table that will be available in the report.

[Missing <typeparam name="T"/> documentation for "M:FlexCel.Report.FlexCelReport.AddTable``1(System.String,System.Collections.Generic.IEnumerable{``0},FlexCel.Report.TDisposeMode)"]

Use this method to tell FlexCel which DataTables or DataViews are available for the report. Note: If you don't know the tables before running the report (and you are not using User Tables or Direct SQL) you can use the event to load them in demand instead of using AddTable. This way you will only load the tables you need. Name that the table will have on the report. Table that will be available to the report. When disposeMode is TDisposeMode.DisposeTable, FlexCel will take care of disposing this table after running the report. Use it when adding tables created on the fly, so you do not have to dispose them yourself. Use this method to tell FlexCel which DataTables or DataViews are available for the report. Note: If you don't know the tables before running the report (and you are not using User Tables or Direct SQL) you can use the event to load them in demand instead of using AddTable. This way you will only load the tables you need. Name that the table will have on the report. Table that will be available to the report. When disposeMode is TDisposeMode.DisposeTable, FlexCel will take care of disposing this table after running the report. Use it when adding tables created on the fly, so you do not have to dispose them yourself. Use this method to tell FlexCel which DataTables or DataViews are available for the report. Note: If you don't know the tables before running the report (and you are not using User Tables or Direct SQL) you can use the event to load them in demand instead of using AddTable. This way you will only load the tables you need. Name that the table will have on the report. Table that will be available to the report. When disposeMode is TDisposeMode.DisposeTable, FlexCel will take care of disposing this table after running the report. Use it when adding tables created on the fly, so you do not have to dispose them yourself. Use this method to tell FlexCel which DataTables or DataViews are available for the report. Note: If you don't know the tables before running the report (and you are not using User Tables or Direct SQL) you can use the event to load them in demand instead of using AddTable. This way you will only load the tables you need. Name that the table will have on the report. Table that will be available to the report. When disposeMode is TDisposeMode.DisposeTable, FlexCel will take care of disposing this table after running the report. Use it when adding tables created on the fly, so you do not have to dispose them yourself. Fires After each sheet on the file is generated. Fires After the report has been fully generated but is not saved. Allows to do last clean up things before saving the report. Determines if FlexCel will automatically delete existing files or not. Fires Before each sheet on the file is generated. Fires before starting to generate the report but after the template has been loaded. It allows to do some in-place modifications to the template before generating the report. Fires before starting to generate the report and before the template has been loaded. It allows to set the template password if you are using one. Cancels a running report. This method is equivalent to setting = true. If true the report has been canceled with method. You can't set this variable to false, and setting it true is the same as calling . Clear the collection of connections available to the report. Use to add new connections to it. Destroys all user-defined expressions on the report. To add new expressions, use Clear the collection of SQL parameters available to the report. Use to add new parameters to it. Clears all relationships added by . Clear the collection of tables available to the report. Use to add new tables to it. Destroys all user defined functions on the report. To add new functions, use Destroys all variables on the report. To add new variables, use Set this value to true if you want to analize how FlexCel is evaluating the tags in a file. When true, a full stack trace will be written in the cell instead of the tag values. See the section on Debugging reports in the "Using FlexCel Reports (Designing Templates)" for information on how to use those stack traces. Determines if FlexCel will delete or just clear ranges with empty datasets (0 records). Override this instance when creating descendants of FlexCelReport. Remember to always call base.Dispose(disposing). When true, FlexCel will try to enter any string starting with "=" as a formula instead of text. If this property is true, any string you enter that starts with "=" must be a valid formula, or an error will be raised. When you know a priori which cells will have formulas, you might want to use the <#formula> tag instead. Determines if FlexCel will throw Exceptions or just ignore errors on specific situations. When the errors are ignored, they will be logged into the class. When true and there is an error reading cells in the template or writing the cells in the report, the error message will be written in the corresponding cell on the generated report. No Exception will be thrown.
You can use this property to DEBUG reports, as it provides an easy way to see all errors at once in the place they are produced. But is it recommended that you leave this property FALSE in production, or you could create xls files with error messages inside. See also
Fires before an image is saved to the report. Use it if the image is on a proprietary format on the database, to return a format FlexCel can understand. Fires before including a file with <#include>. Use it if you want to provide an alternative path for the file, of if you want to read the include file from a different place, for example a database or an embedded resource. Returns the VirtualDataTable with the specified name that was added to the report. Name of the table to retrieve. When true, FlexCel will interpret the text as HTML, and honor the tags that it can understand. Note that when in HtmlMode, many consecutive spaces will be interpreted as one, and carriage returns will be interpreted as spaces. To enter real carriage returns you need to enter a <br> tag (unless the text is inside <pre> tags). Also & symbols need to be escaped. For more info on HTML syntax supported, see
Note that the <#HTML> tag can overwrite the Html behavior on a cell by cell basis.
Fires whenever an undefined table is called, allowing to load your own datasets in demand to the report. For more control, you might use User Tables. Look at the example for more information. Replace this event when creating a custom descendant of FlexCelReport. See also Replace this event when creating a custom descendant of FlexCelReport. See also Replace this event when creating a custom descendant of FlexCelReport. See also Replace this event when creating a custom descendant of FlexCelReport. See also Replace this event when creating a custom descendant of FlexCelReport. See also Replace this event when creating a custom descendant of FlexCelReport. See also Replace this event when creating a custom descendant of FlexCelReport. See also Replace this event when creating a custom descendant of FlexCelReport. See also Replace this event when creating a custom descendant of FlexCelReport. See also Progress of the report. This variable must be accessed from other thread. Before changing this property, look at Determines if the formulas will be recalculated when Excel opens them. Determines if the report will be recalculated before saving. See for more info. When true, all sheets will selections will be reset to A1. This way, you do not need to care about setting the correct selection when editing the template. Executes the report, reading from an ExcelFile and writing the results to it again. ExcelFile that contains the template file, and that will contain the generated file once this method runs. Executes the report, reading from a stream and writing to a stream. Stream with the template. Stream where the result will be written. Executes the report, reading from a file and writing to a file. File with the template to use. File to create. Note the it must not exist. When this property is set to true, absolute references to cells inside bands being copied will be treated as relative. This way, if you have "=$A$1" inside a band and cell A1 is also inside the band, it will change to A2,A3..etc when the band is copied down. This can be useful in a master-detail report, where you want the cells in the detail to point to a fixed cell inside every record of the master. See for more information. Sets an user-defined expression to be used in the report. Different from this method will evaluate the <#tags> in "value". This allows you to provide formula functionality to end users, and to reuse the same report for different formulas. Name of the expression to set. Case insensitive. Value of the expression. Adds a new user defined function to be used with the report. For information on how to create the user function, see Name that the function will have on the report. Case insensitive. An implementation of the user function. Sets a variable for the report. Name of the variable to set. Case insensitive. Value of the variable. Format string for replacing the standard parameter names on DIRECT SQL commands. You can leave it empty for ODBC, OLEDB or SQLSERVER databases. See Also Type of parameters for the database. Positional parameters are the ones where you write "?" on the sql, and positional are when you write a name, like "@employee" or ":orderid". See Also When true, FlexCel will try to convert strings to numbers or dates before entering them into the cells. USE THIS PROPERTY WITH CARE! You shouldn't normally need to use this property, since FlexCel automatically enters numbers or dates in the DataSets as number or dates in the Excel file. If you need to use this property, it means that data in your database is stored as strings when they should not be. So the correct fix is to fix the columns you know should have numbers to have numbers, NOT to use this property. This is just a workaround when you can't do anything else about it.
Note also that this method is not efficient since it has to "guess" what a string might be if anything, and it might be wrong. Also, it might have issues with locales: Does the string "1/2/2008" means January 2 or February 1? Depends on the locale.
Fires on each <#USER TABLE> tag in the config sheet, allowing to add your own datasets to the report. Indicates how much of the report has been generated. A meaningless counter that is increased from time to time. It is not possible to know what is the final count. Phase of the report. The Sheet we are working on. Phase of the report we are in. Report is inactive. Reading and parsing the template. Organizing the data on the template. Inserting the needed rows/ranges for the report. Replacing the tags with the new values. Fixing pagebreak or delete rows tags. Report has finished. Arguments passed on , , and Creates a new Argument. The file we are processing. The file with the report data. Generic delegate for After/Before generate events. Arguments passed on Creates a new Argument. The file we are processing. The name of the image on the Excel sheet. Use it to identify it. The image data. The height of the image in pixels. Change it to resize the image. The width of the image in pixels. Change it to resize the image. The file with the report data. The height of the image in pixels. Change it to resize the image. The data of the image. You can modify it to return another image format. The name of the image on the Excel sheet. Use it to identify it. The width of the image in pixels. Change it to resize the image. Delegate for GetImageData event. Arguments passed on Creates a new Argument. The ExcelFile that has the report doing the include. File that we are trying to include. The included file as an array of bytes. If you return null, the file will be searched on disk. The file with the report. File we are trying to include. you can modify it to point to other place. If the including file is a real file (not an stream) and FileName is relative, it will be relative to the including file path. Here you can return the included file as an array of bytes. If you return null, the filename will be used to search for a file on the disk. If the including file is a real file (not an stream) and FileName is relative, it will be relative to the including file path. Delegate for GetInclude event. Interface for generic methods in ILinqDataTable. Returns the base table this one is created from. This is used in relationships, to find out the relationships of the master table. Returns true if the database has a linked datatable with name dataTableName. Name for the linked datatable that we are searching for. This interface is used by for calling generic methods. Returns a detail table. This is used in master-detail relationships to get the nested table for the detail band. Detail data table calling this method. Return true if the enumerator has 0 records.

[Missing <typeparam name="Q"/> documentation for "M:FlexCel.Report.ILinqDataTableState.GetDetail``1(FlexCel.Report.TLinqDataTable{``0},System.Boolean@)"]

Arguments passed on Creates a new Argument. The table that needs to be loaded on demand. The table that needs to be loaded on demand. Delegate for LoadTable event. Tags used in reports. Range delimiter. Range delimiter. Range delimiter. Range delimiter. Returns a particular configuration tag. Returns the parameters for a particular configuration tag. Range delimiter. Range delimiter. Range delimiter. Range delimiter. "." "__##INT_RNAL_" Named Range starting with KeepColumns_ Named Range starting with KeepRows_ Function delimiter. (for example: "<#if(xx ; yy ; zz)> "->" Range delimiter. Range delimiter. Range delimiter. Range delimiter. "Avg" "Max" "Min" "Sum" "Bottom" "Center" "LEFT" "Right" "Top" "Autofit" "Balanced" "First" "Last" "None" "Selected" "All" Close a Tag. Close an Hyperlink Tag. As we can't use # on hyperlink texts, this gives an alternative. Close Parenthesis. CONFIG "C" "R" "RC" DEBUG "Global" "Local" "X" "DontGrow" "FIXED" "Fixed" "DontShrink" "Dynamic" End of tag for keeprowstogether and keepcolstogether = ERRORSINRESULTFILE "." "Full" "*" "**" "Hide" "InCol" "InRow" "Keep" Open a Tag. **WARNING**Excel2003 does not let you write this either on hyperlinks, so use StrOpenHLink2. Open an Hyperlink Tag. As we can't use # on hyperlink texts, this gives an alternative. Open an Hyperlink Tag. As we can't use # on hyperlink texts, this gives an alternative. Open Parenthesis. Quote. "Relative" "#RecordCount" "#RecordPos" "Show" "Static" List of tag ids. All available tags. Number of params for all available tags. Enumeration with the different kind of aggratations that can be done in a FlexCelReport. Sum all values. Average all values. Max of all values. Minimum of all values. Indicates if FlexCel must dispose a table after it is done using it. FlexCel will not dispose the table. Use this option for example when adding a table that was created on the designer. FlexCel will dispose this table after it has finish using it. Use this option when adding temporary datasets, so you do not have to take care of disposing the table yourself. Enumerates what to do on different FlexCel error situations. FlexCel will try to recover from most errors. When true and the number of manual pagebreaks is bigger than the maximum Excel allows, an Exception will be raised. When false, the page break will be silently ommited. A class to store compiled expressions to access fields in a . This is faster than reading the field values with reflection. Field expressions will be created on demand, so if you never use a field, an expression for it won't be created.

[Missing <typeparam name="T"/> documentation for "T:FlexCel.Report.TFieldExpressions`1"]

Creates a new instance and assigns it to an array of PropertyInfo. Gets the compiled expression for the needed field. A class used to define a FlexCel user function, that you can call from a report. Initializes a new instance of the class Override this method on a derived class to implement your own defined function. An array of objects. The derived class should return the value of the function on the return parameter. An implementation of a VirtualDataTable using IEnumerator and Linq. This class is abstract so to use it you should inherit from it and override the needed methods. In normal cases you won't need to override this class, as FlexCel already has an implementation of it that deals with IEnumerator tables. Inheriting fro this class is only for very special cases.

[Missing <typeparam name="T"/> documentation for "T:FlexCel.Report.TLinqDataTable`1"]

Creates a new table with "tablename" name and a source data. Data can't be null when using this constructor. Name of the table that will be created. Data. Can't be null in this particular constructor. Table that created this table (via a filter, distinct, etc), or null if this table wasn't created from another VirtualDataTable. This constructor is used to create a nested detail table. Data might be null when calling this constructor when it will be read from the master table every time the master record changes. IMPORTANT: When creating a descendand of this class, you always need to provide this constructor as it will be called automatically when creating filtered of detail tables. Name for the new table. Data for the table. Might be null if in a master-detail relationship. Real table from where the data comes. We will use this to find the relationships. A string with all the filters that need to be applied to this table. Table that created this table (via a filter, distinct, etc), or null if this table wasn't created from another VirtualDataTable. Returns the number of columns of the table. Override this method when inheriting from this class to return the correct object. To do so, you will need to create a constructor in your class with parameters (aTableName, aCreator, aOrigTable, aFilters), call the inherited constructor in this class with the same parameters, and then in this method create a new instance of your class with the above constructor. Name for the new table. Table that created this table (via a filter, distinct, etc), or null if this table wasn't created from another VirtualDataTable. Data for the table. Might be null if in a master detail relationship. Real table from where the data comes. We will use this to find the relationships. A string with all the filters that need to be applied to this table. A new instance of the class. Data on this table. It might be null, if this table is linked to another. Override this method on derived classes. A list of compiled field expressions that can be used to find the values of the fileds without using reflection. Type definitions for the properties of the class this table holds. A dictionary to find the field position in the array given its name. This method should return a new VirtualDataTable instance with the data filtered. If RowFilter is null, this method should return a copy of the dataset with a different name. Note that you might have the same data with different states, so this method might be called more than once. How this new VirtualDataSet will be named. This is what the user wrote on the config sheet, when creating a filtered dataset. Note that as with all the VirtualDataSets, this name is meaningless except for error messages. Filter for the new data. This can be null, an empty string, or whatever the user wrote on the "filter" column on the config sheet. Note that if the Filter is "distinct()" this method will not be called, but instead. This method will not be called if the filter is "Split()" either. A new VirtualDataTable with the filtered data and the new name. An array of filter strings that must be applied to this dataset. Original name of the table. This will be used in relationships. Returns a column indentifier that you can later use on . Return -1 if the column does not exist, and make sure this search is case insensitive. Name of the column to search. Column identifier if found, -1 if not found. Returns the column caption for a column identifier. This method is used on generic dataset to write the header column. For most uses, will be used. Column index returned by The name of the column at columnIndex. If the columnIndex is not valid it should throw an Exception, since this method will only be called for columnIndexes returned by Returns the column name for a column identifier. This method is the reverse of Column index returned by The name of the column at columnIndex. If the columnIndex is not valid it should throw an Exception, since this method will only be called for columnIndexes returned by Override this method if the table has linked tables that you can use for master detail relationships instead of normal relationships. This is the case for example in "Entity framework". Name of the detail dataset we are looking for. Detail dataset that we are looking for. The dataset if it is a detail dataset, null otherwise. Override this method if the datatable has intrinsic relationships that you want to use. For example DataSets have DataRelationships, or Entity Framework tables are related as properties from the master to the detail. All those relationships that are not explicitly defined in the report should be returned here. Detail table from where we want to get the relationship. Returns true if the database has a linked datatable with name dataTableName. Name for the linked datatable that we are searching for. Locale for this dataset. This might be needed to create datatables with data and the same locale. Looks for a key on this dataset and returns the corresponding value. Note: Remember that VirtualDataSet is stateless, so if you use any caching here, make sure you appropiately lock() this method so there is no possibility of one thread reading the cache when the other is updating it. Column with the value to be returned. A list of column names, as the user wrote them on the <#Lookup> tag A list of the values for the keys, that you should use to locate the right record. The value at "column" , for the record where the columns on "keyNames" have the "keyValues" values. If there is more than one record where "keyNames" is equal to "keyValues" you might opt to throw an Exception or just return any of the valid values, depending on the behavior you want for lookup. This class implements support for Linq queries in FlexCelReport. Inherit this class if you want to implement some non-standard Linq query provider. For normal cases, you don't need to do anything since FlexCel already implements a descendant of this class with the default functionality. Type of the object that will be enumerated. Creates a new LinqDataTableState. Data for the table. Note that this might change in a master-detail report, every time the master changes its active record, Data in the detail will change to the records for the master. Override this method on derived classes. Returns true when at the end of the table. A list of then public fields in the datatype. A dictionary to find the field position in the array given its name. This method will be called when a Split master wants to know how many records its detail has. For example, if the detail has 30 records and the split is at 10, the Split master will call this method to find out that it has to return 3 on its own record count. You need to filter the data here depending on the master detail relationships, but not on the splitLink. List of all the master tables that are related to this one. If there are no parents on this VirtualDataTableState, this will be an empty array, not null. The count of records for a specific position of the master datsets. A list of filter strings that must be applied to the data. Returns a detail table. This is used in master-detail relationships to get the nested table for the detail band. Detail data table calling this method. Return true if the enumerator has 0 records.

[Missing <typeparam name="Q"/> documentation for "M:FlexCel.Report.TLinqDataTableState`1.GetDetail``1(FlexCel.Report.TLinqDataTable{``0},System.Boolean@)"]

This method returns a function that can be used to filter the data. This implementation calls when rowFilter starts with "@", or calls when rowFilter doesn't start with "@". You might want to replace this method by a different one that filters in other way. String with the filter as the user wrote it in the report. Returns the value for row , at the column "column" Column identifier returned by This method is called when we want to move to the first record. You can always know the current record with This method will be called each time that the master datasource moves its position. Use it to filter the data returned if this is used on a master-detail relationship. List of all the master tables that are related to this one. If there are no parents on this VirtualDataTableState, this will be an empty array, not null. Use it on to filter the data and then return only the records that satisfy the master-detail relationships on Parent Split table if this dataset is on a Split relationship, or null if there is none. Use it to know how many records you should retun on . Note that a table might be on Master-Detail relationship *and* split relationship. In this case you need to first filter the records that are on the master detail relationship, and then apply the split to them. This method is called when we want to move to the next record. You can always know the current record with Returns the number of rows available on the dataset, for the current state. Note that this method can be called many times, so it should be fast. Usa a cache if necessary. Do *not* use something like "return select count(*) from table" here, it would be too slow. This method is called by when the rowFilter starts with "@". It will do a simple parse of the rowFilter string, allowing "AND" "OR" "()" and equality comparisons. Sorts the data according to SortStr. Sort string the user wrote in the report. This method is used by the current implementation, and it creates an expression to sort the data.

[Missing <typeparam name="Q"/> documentation for "M:FlexCel.Report.TLinqDataTableState`1.SortDataByField``1(System.Int32,System.Boolean,System.Boolean)"]

Split link. This method is called by when the rowFilter starts with "@". When overriding you might want to call this method if rowfilter starts with "@".

This implementation tries to find a "Where(string)" method in the data and call it.
This method is used by the "AGGREGATE" tag in a FlexCel report to calculate the mximum/minimum/average/etc of the values in the table. If you don't implement this method, FlexCel will still calculate those values by looping through the dataset, but if you have a faster way to do it (like with a "select max(field) from table") then implement this method and return true. Which operation to do on the dataset. (Max/Min/etc) Index of the filed in which we want to aggregate. Returns the result of the operation in the dataset. True if this method is implemented, false if not. Note that even if we return false here, FlexCel will still calculate the aggregate by looping through all the records. A parent table and a parent field used on a master-detail relationship. Creates a new instance of TMasterDetailLink with the given values. See See See Column name on the detail dataset that is related with A table that is acting as a master on a master detail relationship. Column index of the key that acts as primary key on the relationship. A list of TOneSectionValue. Has a parsed version of what is on a cell. Frees the resources of the cell. Disposes the resources of the cell. A data relation between two tables. Different from standard .NET datarelations, this class is not tied to ADO.NET, and allows you to specify relationships between any arbitrary VirtualDataTable objects. Creates a new relation with the given values. See See See See And array of colum indexes on the Detail table that are related to the master. ChildColumns[0] is related to ParentColumns[0], ChildColumns[1] to ParentColunns[1], and so on. Table that acts as a detail on a Master-Detail relationship. And array of colum indexes on the Master table that are related to the detail ChildColumns[0] is related to ParentColumns[0], ChildColumns[1] to ParentColunns[1], and so on. Table that acts as a master on a Master-Detail relationship. Specifies a "Split" relation between two tables. Create a new TSplitLink with the given values. See See Table that acts as a parent on the split relationship. Read its to know which group of splitted records to return. Split the detail every "SplitCount" number of records. If for example Splitcount is 5 and the detail table has 14 registers, it should be split as 5 records, 5 records, 4 records. How the parameters for Direct SQL queries are. Change it only if your database uses positional parameters and it is not ODBC or OLEDB. FlexCel will try to guess the correct type. Currently it will return Positional for ODBC and OLEDB Parameters and Named for everything else. Parameter is named. For example, "@param1" or ":Param2" Name of parameter is not important, and we only care about position. For example "?" All the things we can find on a cell. A constant value, like 2 or "a". A value from a Dataset. This tag is written as "<#DataTable.Column> A report variable, like <#Variable> A dataset with "*" Captions for a full dataset. An #IF construct An include Tag. A #= tag A #Delete sheet #Config #Delete Range #Delete row Delete Column Format cell Format row Format column Format range Horizontal page break Vertical page break This one will not really be stored. An expression that will be evaluated Only used inside images, to specify its zoom in % and its aspect ratio. Only used inside images, to specify its position inside the cell. Only used inside images, to specify how to modify the containing cells to hold the image. Only used inside images, to delete an image. A lookup field. Parameters are: DataBase, KeyFields, KeyValues, ResultField. An array of values. Useful for example as the KeyValues argument of the Lookup field. A regular expression replace. A cell that will be merged. The contents of this cell should be entered as formula. Adjusts the column width to a specified value. Adjusts the row height to a specified value. Defines if the cell has HTML formatted data or not. The parameter is considered a reference and will be changed when copying the ranges. Sets autofit settings for the whole sheet. Returns true if the expression is defined. Returns true if the format is defined. An expression that will be pre evaluated and used to modify the template. FlexCel should automatically calculate the page breaks in this sheet. Does an operation like sum or average over a dataset. Concatenates all values in a dataset as a list. Gets the value of a dataset given a row or a column. Arguments passed on Creates a new Argument. The value written on the cell "Table name" on the config sheet. You can use it as an extra parameter. The parameters passed on the <#User Table(parameters)> tag. The parameters on the <#User Table(parameters)> tag. The value written on the cell "Table name" on the config sheet. You can use it as an extra parameter. Delegate for UserTable event. Base class for a table used on FlexCelReport. Inherit from this class and to create your custom sources of data. Make sure you read the documentation on UsingFlexCelReports.pdf for more information. Creates a new virtual datatable instance and assigns a name to it. Name for the virtual data table. Note that this name is *not* used anywhere in FlexCel code, except to report errors. The Table names that are used on reports are the ones in Table that created this table (via a filter, distinct, etc), or null if this table wasn't created from another VirtualDataTable. Returns the number of columns of the table. Returns the table that created this one (by a filter, distinct, etc), or null if this table was not created from another VirtualDataTable. Creates a VirtualDataSetState to be used in a report. Make sure you override this method on your derived classes and point it to the correct VirtualDataSet descendant. A string showing how to sort this dataset. This string might be null, empty, or whatever the user wrote on the config sheet. A list of the the master datatables and relation fields on the bands outside this one. You can pass this parameter to the VirtualDataSetState so it can create indexes on the required fields. This parameter will be an empty array if no master detail relationships apply to the VirtualDataSetState, but it will not be null. A link to a parent Split datasource with the number of records to split, or null if there is no parent split datasource. Dispose whatever is needed on the children here. Override this method on derived classes. This method should return a new VirtualDataTable instance with the data filtered. If RowFilter is null, this method should return a copy of the dataset with a different name. Note that you might have the same data with different states, so this method might be called more than once. How this new VirtualDataSet will be named. This is what the user wrote on the config sheet, when creating a filtered dataset. Note that as with all the VirtualDataSets, this name is meaningless except for error messages. Filter for the new data. This can be null, an empty string, or whatever the user wrote on the "filter" column on the config sheet. Note that if the Filter is "distinct()" this method will not be called, but instead. This method will not be called if the filter is "Split()" either. A new VirtualDataTable with the filtered data and the new name. Returns a column indentifier that you can later use on . Return -1 if the column does not exist, and make sure this search is case insensitive. Name of the column to search. Column identifier if found, -1 if not found. Returns the column caption for a column identifier. This method is used on generic dataset to write the header column. For most uses, will be used. Column index returned by The name of the column at columnIndex. If the columnIndex is not valid it should throw an Exception, since this method will only be called for columnIndexes returned by Returns the column name for a column identifier. This method is the reverse of Column index returned by The name of the column at columnIndex. If the columnIndex is not valid it should throw an Exception, since this method will only be called for columnIndexes returned by Override this method if the table has linked tables that you can use for master detail relationships instead of normal relationships. This is the case for example in "Entity framework". Name of the detail dataset we are looking for. Detail dataset that we are looking for. The dataset if it is a detail dataset, null otherwise. Override this method to return a new VirtualDataSet with unique values. Note that the returned dataset will not have all the columns this one has, only the ones defined on "filterFields" How this new VirtualDataSet will be named. This is what the user wrote on the config sheet, when creating the distinct dataset. Note that as with all the VirtualDataSets, this name is meaningless except for error messages. Fields where to apply the "distinct" condition. A new VirtualDataTable with the filtered data and the new name. Override this method if the datatable has intrinsic relationships that you want to use. For example DataSets have DataRelationships, or Entity Framework tables are related as properties from the master to the detail. All those relationships that are not explicitly defined in the report should be returned here. Detail table from where we want to get the relationship. Locale for this dataset. This might be needed to create datatables with data and the same locale. Looks for a key on this dataset and returns the corresponding value. Note: Remember that VirtualDataSet is stateless, so if you use any caching here, make sure you appropiately lock() this method so there is no possibility of one thread reading the cache when the other is updating it. Column with the value to be returned. A list of column names, as the user wrote them on the <#Lookup> tag A list of the values for the keys, that you should use to locate the right record. The value at "column" , for the record where the columns on "keyNames" have the "keyValues" values. If there is more than one record where "keyNames" is equal to "keyValues" you might opt to throw an Exception or just return any of the valid values, depending on the behavior you want for lookup. Name for the virtual data table. Note that this name is *not* used anywhere in FlexCel code, except to report errors. The Table names that are used on reports are the ones in A table that corresponds to a band on the report. Make sure you read the documentation on UsingFlexCelReports.pdf for more information. Constructs a new VirtualDataTableState with the specified name. Note that you will not call this constructor directly, new VirtualDataTableState instances will be created only by VirtualDataTable that created this instance. Dispose whatever is needed on the children here. Override this method on derived classes. This method returns if we have reached the last record in the table. The default implementation just sees if = . If RowCount is slow and you have a faster way to know if you are at the end, override this method. True if we are at the end of the datatable. This method will be called when a Split master wants to know how many records its detail has. For example, if the detail has 30 records and the split is at 10, the Split master will call this method to find out that it has to return 3 on its own record count. You need to filter the data here depending on the master detail relationships, but not on the splitLink. List of all the master tables that are related to this one. If there are no parents on this VirtualDataTableState, this will be an empty array, not null. The count of records for a specific position of the master datsets. Finalizer for the class. Returns the value for row , at the column "column" Column identifier returned by This method is called when we want to move to the first record. You can always know the current record with This method will be called each time that the master datasource moves its position. Use it to filter the data returned if this is used on a master-detail relationship. List of all the master tables that are related to this one. If there are no parents on this VirtualDataTableState, this will be an empty array, not null. Use it on to filter the data and then return only the records that satisfy the master-detail relationships on Parent Split table if this dataset is on a Split relationship, or null if there is none. Use it to know how many records you should retun on . Note that a table might be on Master-Detail relationship *and* split relationship. In this case you need to first filter the records that are on the master detail relationship, and then apply the split to them. This method is called when we want to move to the next record. You can always know the current record with This method is called when you move to a random record and it is used by the DbValue tag. By default it will raise an exception. If your VirtualDataSource supportes random lookup, override this method and make it not raise the exception. Position in the dataset where we want to move. Returns the active row on the table. (0 based) You should use this value to return the values on Returns the number of rows available on the dataset, for the current state. Note that this method can be called many times, so it should be fast. Usa a cache if necessary. Do *not* use something like "return select count(*) from table" here, it would be too slow. The VirtualDataTable that created this instance. Returns the table name assigned on the template to this dataset. Note that this name is the one on the bands in the template. This method is used by the "AGGREGATE" tag in a FlexCel report to calculate the mximum/minimum/average/etc of the values in the table. If you don't implement this method, FlexCel will still calculate those values by looping through the dataset, but if you have a faster way to do it (like with a "select max(field) from table") then implement this method and return true. Which operation to do on the dataset. (Max/Min/etc) Index of the filed in which we want to aggregate. Returns the result of the operation in the dataset. True if this method is implemented, false if not. Note that even if we return false here, FlexCel will still calculate the aggregate by looping through all the records. Exception thrown when an error parsing a formula happens. Creates an empty ETokenException. Creates a new ETokenException for a specific Token. Creates an exception from a serialization context. Serialization information. Streaming Context. Creates a new ETokenException with a message. Creates a nested Exception. Error Message. Inner Exception. Implements standard GetObjectData. Formula token with the error. Exception thrown when an exception on the XlsAdapter engine happens. Creates a new FlexCelXlsAdapterException Creates an exception from a serialization context. Serialization information. Streaming Context. Creates a new FlexCelXlsAdapterException with an error message. Error Message. Creates a new FlexCelXlsAdapterException with an error message and an exception code. Error Message Error code of the exception. Creates a nested Exception. Error Message. Inner Exception. Error code on the Exception. Implements standard GetObjectData. Implements an ExcelChart interface. Adds a series to the chart. Definition of the new series Index of the newly added series. Options for the background of the full chart. If this member is null, the options for the Autoshape will be used. Returns the type of chart and the options specific for that kind of chart. There might be more than one ChartOptions returned, since you can mix more than one type of chart on a simple chart. (One for each series). You need to look at the series ChartOptionsIndex to know to which one it refers. Returns the default font for the Axis in the chart that do not have a font defined. Returns the default font for all text in the chart that does not have a font defined. Returns the default font for all labels in the chart that do not have a font defined. Deletes the graphic object at objectIndex. Use it with care, there are some graphics objects you don't want to remove (like comment boxes when you don't delete the associated comment.) Index of the object (1 based). Deletes the series at position index. Returns the axis information for this chart. Note that this might be more than one, if the chart has a secondary axis. Information about the Legend of the chart. Returns all the labels for the chart and the main title. Note that Axis have their labels defined inside their own definition. Label values. An object embedded inside a chart. Index of the object, between 1 and When true, shape options will be retrieved. As this can be a slow operation, only specify true when you really need those options. The properties for the embedded object. Returns a series definition. Index of the series you want to return. If false, this method will not return the series formulas, so it will be a little faster. If false, this method will not return the series values, so it will be a little faster and use less memory. If false, this method will not return the series options. series description. The number of objects that are embedded inside this chart. Defines how null cells will be plotted on the chart. Returns the count of series on this chart. Changes the labels for the chart. You should always get the values with , modify them, and change them back with this method. New labels for the chart. Changes the text inside an object of the chart. Index of the object, between 1 and Index to the child object you want to change the text. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Text you want to use. Use null to delete text from an AutoShape.
Sets a Serie value. Index of the serie to set. Series definition. Error Codes. We use this and not actual strings to make sure all are correctly spelled. Internal TooManyEntries InvalidContinue WrongExcelRecord ExcelInvalid FileIsPasswordProtected NotSupportedOnCE FileIsNotXLS BadFormula BadName BadToken WrongType InvalidStream EofReached ReadingRecord InvalidStringRecord InvalidVersion DupRow RowMissing EscherNotLoaded LoadingEscher BStoreDuplicated DgDuplicated DggDuplicated SolverDuplicated ChangingEscher NotImplemented CantCopyPictFmla BadChartFormula SectionNotLoaded InvalidDrawing XlsIndexOutBounds BadCF InvalidCF InvalidSheetNo DuplicatedSheetName TooManyPageBreaks InvalidRow InvalidCol BadRowCount ShrFmlaNotFound HiddenSheetSelected NoSheetVisible BadCopyRows BadCopyCols BadMoveCall eSheetName CantDeleteSheetWithMacros TooManyRows TooManyColumns Trying to insert more than 65536 sheets. Invalid password. Password too long. Encryption method is not supported. The name for a named range is invalid. It should have no more than 255 characters, must no start with a number, and must not contain some special characters. Could not find the object path inside the shape. The array element is not any of the supported types. The Pocket Excel file (pxl) is not on a format FlexCel can understand. The Pocket Excel file (pxl) is not on a format FlexCel can understand. Token invalid. The string is longer than the maximum allowed by Excel. The string can't be empty. The string for a header or footer is longer than the maximum allowed by Excel. The file is not on any on the formats supported by FlexCel (Excel 97 or newer, pxl). Note that to read or write xlsx files (Excel 2007 or newer) you need FlexCel for .NET Framework 3.5 or newer. Pocket Excel does not have support for formulas that reference external files. Cannot read the properties of this file. Chart is invalid. Ranges in move calls cannot intersect. Can't move a part of a table. Can't move a part of an Array formula. Trying to move a range outside bounds. Too many Conditional format rules. Too many format definitions. First formula of Data validation has more than 255 characters. Second Formula of Data validation has more than 255 characters. First formula of Data validation is null. Second formula of Data validation is null. Invalid type of Hyperlink. Maximum length for a format string is 255 characters. Too many custom numeric formats. In order to save as xlsx, the stream needs to have read access besides write. If you specify a gradient pattern, then gradient definition can't be null Both sheets in the range must be the same This is the FlexCel Native Engine. Use this class to natively read or write an Excel 97 or newer file. Note that to read xlsx files (Excel 2007 or newer) you need FlexCel for .NET Framework 3.5 or newer. Creates a new XlsFile. Creates a new XlsFile and sets the desired Overwriting mode for files. When true calling "Save" will overwrite existing files. See Creates a new XlsFile and opens the desired file. Name of the file to open. Creates a new XlsFile and opens the desired file. Sets the desired Overwriting mode for files. Name of the file to open. When true calling "Save" will overwrite existing files. See The file we are working on. When we save the file with another name, it changes. When we open a stream, it is set to "". This value is also used to get the text of Headers and Footers (when using the filename macro). When using the filename macro on headers/footers, make sure you set this value to what you want. The Sheet where we are working on, 1-based(First sheet is 1, not 0). Always set this property before working on a file. You can read or write this value. The sheet where we are working on, referred by name instead of by index. To change the active sheet name, use Adds a button to the sheet, with the associated macro. Position for the button. Text that will be shown in the button. Name for the inserted button. Macro associated with the button. Adds a checkbox to the active sheet. Position for the checkbox. Text for the checkbox. Value of the checkbox. Cell that will be linked to the checkbox. If you don't want to link the checkbox to a cell, make this parameter null. Name that will be given to the checkbox. Object Index of the inserted checkbox (1 based). Adds a ComboBox to the active sheet. Position for the combobox. Name of the inserted combobox. Cell that will be linked to the combobox. Set this to null to not link any cell. Range of cells with the values that the combobox will display. Item that will be selected, starting at 1. 0 means no selected item. Object Index of the inserted combobox (1 based). Adds a new Data Validation to a specified range. Range of cells where we will apply the Data Validation. Validation information. Adds a new font to the excel font list. If it already exists, it doesn't add a new one, so you can use this method for searching too. Font to add to the list. The position on the list for the added font. Adds a new format to the Excel format list. If it already exists, it doesn't add a new one, so you can use this method for searching too. Format to add to the list. Position on the list for the format. Adds a Group box to the active sheet. Call to insert radio buttons inside the group box. Position for the group box. Text for the group box. Name for the inserted Group box Object Index of the inserted group box (1 based). Adds a new hyperlink to the Active sheet. Use to modify an existing one. Range of cells the hyperlink will refer to. Description of the hyperlink. Adds an image to the active sheet. byte array with the image data. Type of image you are inserting (bmp, jpg, etc). Placement and other properties of the image. Adds a Label to the active sheet. Position for the label. Text for the label. Name of the inserted label. Object Index of the inserted listbox (1 based). Adds a ListBox to the active sheet. Position for the listbox. Name of the inserted listbox. Cell that will be linked to the listbox. Set this to null to not link any cell. Range of cells with the values that the listbox will display. How items are selected in the lisbox. Item that will be selected, starting at 1. 0 means no selected item. Object Index of the inserted listbox (1 based). Adds a radio button to the active sheet. Call to insert a group box for grouping the radio buttons. Position for the radio button. Text for the radio button. Name of the inserted radio button. Object Index of the inserted radio button (1 based). Adds a ScrollBar to the active sheet. Position for the ScrollBar. Name of the inserted ScrollBar. Cell that will be linked to the ScrollBar. Set this to null to not link any cell. Properties for the ScrollBar. Object Index of the inserted ScrollBar (1 based). Adds a Spinner to the active sheet. Position for the spinner. Name of the inserted spinner. Cell that will be linked to the spinner. Set this to null to not link any cell. Properties for the spinner. Object Index of the inserted spinner (1 based). Adds a custom formula function to the FlexCel recalculation engine. Note that this formulas are only valid for Excel custom formulas, not for internal ones. For example, you could define "EDATE" since it is a custom formula defined in the Analisis Addin, but you cannot redefine "SUM". Note that if a custom formula with the name already exists, it will be replaced. Names are Case insensitive ("Date" is the same as "DATE").

Also note that some user defined functions come already built in in FlexCel, so you might not need to define them. For more information on adding Custom Formulas make sure you read the PDF documentation and take a look at the demo.
Defines if the custom function will be available globally to all ExcelFile instances or only to the ExcelFile instance where it was added. It is recommended to add functions globally, unless you have different xls files with functions that might have the same name but could be implemented different. Defines if the function will be inserted as a reference to a macro in the local sheet or in an external book or addin. This parameter is used only when adding formulas with user defined functions to a sheet. It is not needed or used when recalculating those functions or when reading the text of a formula. Formula function we want to add.
Autofits a range of columns so they adapt their width to show all the text inside. First column to Autofit. Last column to Autofit. When true, strings will not be considered for the autofit. Only numbers will. You will normally want to set this parameter to 1, which means that autofit will be made with standard measurements. If you set it to for example 1.1, then columns will be adjusted to 110% percent of what their calculated width was. Use this parameter to fine-tune autofiting, if for example columns are too small when opening the file in Excel. You will normally set this parameter to 0, which means standard autofit. If you set it to a value, the column will be made larger by that ammount from the calculated autofit. Different from the "adjustment" parameter, this parameter adds a fixed size to the column and not a percentage. The final size of the column will be: FinalSize = CalulatedAutoFit * adjustment + adjusmentFixed Minimum final width for the column to autofit. If the calculated value is less than minWidth, column size will be set to minWidth.
A negative value on minWidth means the column size will be no smaller than the original width. Maximum final width for the column to autofit. If the calculated value is more than maxWidth, column size will be set to maxWidth.
maxWidth = 0 means no maxWidth.
A negative value on maxWidth means the column size will be no bigger than the original width. Specifies which column in a merged cell using more than one column will be used to autofit the merged cell. If you don't specify this parameter, it will be the last column.
Autofits all the rows and columns on a sheet that have been previously marked with the and methods. When true, no modifications will be done to the "autofit" status of the rows. When false, all rows will be marked as "no autofit", so when you open this file in Excel it will not be resized by Excel, and the sizes when printing/export to pdf from Excel will be the same as FlexCel, even when some cells might appear "cut" when printing on Excel. When true, cells containing strings will not be autofitted. You will normally want to set this parameter to 1, which means that autofit will be made with standard measurements. If you set it to for example 1.1, then columns and rows will be adjusted to 110% percent of what their calculated width and heigth was. Use this parameter to fine-tune autofiting, if for example columns are too small when opening the file in Excel. You will normally set this parameter to 0, which means standard autofit. If you set it to a value, the row will be made larger by that ammount from the calculated autofit. Different from the "adjustment" parameter, this parameter adds a fixed size to the row and not a percentage. The final size of the row will be: FinalSize = CalulatedAutoFit * adjustment + adjusmentFixed Minimum final height for the row to autofit. If the calculated value is less than minHeight, row size will be set to minHeight.
A negative value on minHeight means the row size will be no smaller than the original height. Maximum final height for the row to autofit. If the calculated value is more than maxHeigth, row size will be set to maxHeight.
maxHeight = 0 means no maxHeight.
A negative value on maxHeight means the row size will be no bigger than the original height. Minimum final width for the column to autofit. If the calculated value is less than minWidth, column size will be set to minWidth.
A negative value on minWidth means the column size will be no smaller than the original width. Maximum final width for the column to autofit. If the calculated value is more than maxWidth, column size will be set to maxWidth.
maxWidth = 0 means no maxWidth.
A negative value on maxWidth means the column size will be no bigger than the original width. Specifies which row in a merged cell using more than one row, or which column in a merged cell with more than one column will be used to autofit the merged cell. If you don't specify this parameter, it will be the last row or column in the merged range.
Autofits a range of rows so they adapt their height to show all the text inside. Note that due to GDI+ / GDI incompatibilities, the height calculated by FlexCel will not be exactly the same than the one calculated by Excel. So when you open this workbook in Excel, Excel will re calculate the row heights to what it believe is best. You can change this behaviour specifying keepHeightAutomatic = false. First row to autofit. Last row to autofit. When you are autofitting a range of rows, some rows might not be set to Autofit in Excel. When this parameter is true, those rows will be autofitted anyway. If true, rows will be still autoheight when you open the file in Excel, so Excel will recalculate the values, probably changing the page breaks. If you set it to false, rows will be fixed in size, and when you open it on Excel they will remain so. You will normally want to set this parameter to 1, which means that autofit will be made with standard measurements. If you set it to for example 1.1, then rows will be adjusted to 110% percent of what their calculated height was. Use this parameter to fine-tune autofiting, if for example rows are too small when opening the file in Excel. You will normally set this parameter to 0, which means standard autofit. If you set it to a value, the row will be made larger by that ammount from the calculated autofit. Different from the "adjustment" parameter, this parameter adds a fixed size to the row and not a percentage. The final size of the row will be: FinalSize = CalulatedAutoFit * adjustment + adjusmentFixed Minimum final height for the row to autofit. If the calculated value is less than minHeight, row size will be set to minHeight.
A negative value on minHeight means the row size will be no smaller than the original height. Maximum final height for the row to autofit. If the calculated value is more than maxHeigth, row size will be set to maxHeight.
maxHeight = 0 means no maxHeight.
A negative value on maxHeight means the row size will be no bigger than the original height. Specifies which row in a merged cell using more than one row will be used to autofit the merged cell. If you don't specify this parameter, it will be the last row.
Autofits all rhe rows on all sheets on a workbook that are set to autofit so they adapt their height to show all the text inside. Note that due to GDI+ / GDI incompatibilities, the heights calculated by FlexCel will not be exactly the same than the ones calculated by Excel. So when you open this workbook in Excel, Excel might re calculate the row heights to what it believe is best. You can change this behaviour specifying keepSizesAutomatic = false. THIS METHOD DOES NOT WORK ON COMPACT FRAMEWORK. When you are autofitting a range of rows, some rows might not be set to Autofit in Excel. When this parameter is true, those rows will be autofitted anyway. When true, no modifications will be done to the "autofit" status of the rows. When false, all rows will be marked as "no autofit", so when you open this file in Excel it will not be resized by Excel, and the printing/export to pdf from Excel will be the same as FlexCel. You will normally want to set this parameter to 1, which means that autofit will be made with standard measurements. If you set it to for example 1.1, then rows will be adjusted to 110% percent of what their calculated height was. Use this parameter to fine-tune autofiting, if for example rows are too small when opening the file in Excel. You will normally set this parameter to 0, which means standard autofit. If you set it to a value, the row will be made larger by that ammount from the calculated autofit. Different from the "adjustment" parameter, this parameter adds a fixed size to the row and not a percentage. The final size of the row will be: FinalSize = CalulatedAutoFit * adjustment + adjusmentFixed Minimum final height for the row to autofit. If the calculated value is less than minHeight, row size will be set to minHeight.
A negative value on minHeight means the row size will be no smaller than the original height. Maximum final height for the row to autofit. If the calculated value is more than maxHeigth, row size will be set to maxHeight.
maxHeight = 0 means no maxHeight.
A negative value on maxHeight means the row size will be no bigger than the original height. Specifies which row in a merged cell using more than one row will be used to autofit the merged cell. If you don't specify this parameter, it will be the last row.
This method will create manual page breaks in the sheet to try to keep together the rows and columns marked with and . It might be desirable to clear all manual page breaks (with ) before calling this method, so it has more freedom to place the new ones. If you call this method twice without removing the old page breaks, it will add the page breaks to the existing ones. Percentage of the sheet that must be used in any page when fitting the rows and columns. A value of zero means that no part of the sheet must be used, so FlexCel might add a page break after a single row in a page, leaving it almost completely blank.
A value of 50% means that half of the page must be used. This means that FlexCel will add a page break only if there is 50% of the current page already used.
A value of 100% will do nothing, since the sheet must be completely used, and so FlexCel can never add a page break.
You can customize a custom page size here. If width or height of this parameter is 0, the paper size specified in the file will be used. There is normaly no need to set this parameter, unless you want to fine tune the results.
This method will create manual page breaks in the sheet to try to keep together the rows and columns marked with and . It might be desirable to clear all manual page breaks (with ) before calling this method, so it has more freedom to place the new ones. If you call this method twice without removing the old page breaks, it will add the page breaks to the existing ones. Percentage of the sheet that must be used in any page when fitting the rows and columns. A value of zero means that no part of the sheet must be used, so FlexCel might add a page break after a single row in a page, leaving it almost completely blank.
A value of 50% means that half of the page must be used. This means that FlexCel will add a page break only if there is 50% of the current page already used.
A value of 100% will do nothing, since the sheet must be completely used, and so FlexCel can never add a page break.
This parameter must be between 50 and 100, and means how much smaller page will be considered in order to calculate the page breaks.
A value of 100 means that the size used in the calculation will be the real size of the page, and while this will always work fine when exporting to pdf or exporting to images, when printing from Excel might result in a page break that is placed a little after where it should go and an empty page for certain printers. (Page size in Excel is different for different printers) Normally a value around 95 is the recommended value for this parameter.
If you need to do a finer grain adjustment, you can use .
Sends the graphical object to the top layer on the display (z-order) position. It will show above and will cover all other objects on the sheet. Index of the object to move. (1 based) Merged Range where the cell is. Row Index (1 based) Column Index (1 based) The range where the cell is The Merged cell at position index on the mergedcell list. index on the list (1 based) The merged cell at position index. For using with on a loop: for (int i=1;i <= CellMergedListCount;i++) DoSomething(CellMergedList(i))... Returns the height and width that would be used by a range of cells (in Points, or 1/72 inches). First row (1 based). If you use a value less or equal than 0 here, this method will return the full sheet dimensions. First column (1 based). If you use a value less or equal than 0 here, this method will return the full sheet dimensions. Last row (1 based). If you use a value less or equal than 0 here, this method will return the full sheet dimensions. Last colum (1 based). If you use a value less or equal than 0 here, this method will return the full sheet dimensions. If true, the dimensions reported will include all margins in the sheet. Returns the count of charts on this sheet. Please take note that this method will not return the number of embedded objects with charts inside in a sheet, but just the number of charts in the sheet.
In simpler terms, this method will return 0 for all worksheets, and 1 for all chart sheets. This is not a very useful method, but it needs to be this way to be consistent with . So, looping like this: for (int i=1; i<= xls.ChartCount; i++) { xls.GetChart(i, null); } will loop 0 times for worksheets and 1 time for workbooks.
To see how to loop over all objects in a sheet, use the example in the example section of the topic.
Clears all data validation entries in the active sheet. Clears all data validation entries inside the specified range. Range of cells where data validation will be cleared. Clears the image at position imageIndex, leaving an empty white box. Index of the image to clear. (1 based) Deletes all manual page breaks on the active sheet. Clears all data on the active sheet, but does not delete it. Removes all the custom formula functions from the FlexCel recalculation engine. Number of columns actually used on the active sheet. Note that this method is *slow* as it need to loop over all the rows to find out the biggest used column. Never use it in a loop like "for (int col = 1; col <= xls.ColCount; col++)". Instead try to use . If you *need* to use ColCount, cache its value first: int RowCount = xls.RowCount; int ColCount = xls.ColCount; for (int row = 1; row <= RowCount; row++) { for (int col = 1; col <= ColCount; col++) { Remember that loops in C# will evaluate the second parameter every time the loop is executed. This method returns the existing columns on ONE ROW. You can use this together with and to iterate faster on a block. Row index. (1-based) The number of existing columns on one row. This method returns the existing columns on ONE ROW, for a given sheet. You can use this together with and to iterate faster on a block. Sheet where we are working. It might be different from ActiveSheet. Row index. (1-based) The number of existing columns on one row. This is the column (1 based) for a given ColIndex. See for an example. Row (1 based) The index on the column list for the row. (1 based) The column (1 based) for the corresponding item. This is the column (1 based) for a given ColIndex and sheet. See for an example. Sheet where we are working. It might be different from ActiveSheet. Row (1 based) The index on the column list for the row. (1 based) The column (1 based) for the corresponding item. Collapses or expands the column outlines in a sheet to the specified level. It is equivalent to pressing the numbers at the top of the outline gutter in Excel. Level that we want to display from the outline. (1 based). For example, setting Level = 3 is the same as pressing the "3" number at the left of the outline gutter in Excel. Setting Level = 1 will collapse all groups, Level = 8 will expand all groups. Determines if the children of the collapsed nodes will be collapsed too. This defines the first column of the range to collapse/expand. Only columns inside that range will be modified. This defines the last column of the range to collapse/expand. Only columns inside that range will be modified. Use this method to collapse a node of the outline. If the column is not a node ( is false) this method does nothing. While this method allows a better control of the columns expanded and collapsed, you will normally use to collapse or expand all columns in a sheet. Column to expand or collapse. (1 based) If true, the node will be collapsed, else it will be expanded. Use this method to collapse a node of the outline. If the row is not a node ( is false) this method does nothing. While this method allows a better control of the rows expanded and collapsed, you will normally use to collapse or expand all rows in a sheet. Row to expand or collapse (1 based) If true, the node will be collapsed, else it will be expanded. Collapses or expands the row outlines in a sheet to the specified level. It is equivalent to pressing the numbers at the top of the outline gutter in Excel. Level that we want to show of the outline. (1 based). For example, setting Level = 3 is the same as pressing the "3" number at the top of the outline gutter in Excel. Setting Level = 1 will collapse all groups, Level = 8 will expand all groups. Determines if the children of the collapsed nodes will be collapsed too. This defines the first row of the range to collapse/expand. Only rows inside that range will be modified. This defines the last row of the range to collapse/expand. Only rows inside that range will be modified. This is the inverse of . It will return the index on the internal column array from the row for an existing column. If the column doesn't exist, it will return the index of the "LAST existing column less than col", plus 1. Row (1 based) Column (1 based) The index on the column list for the row. (1 based) This is the inverse of . It will return the index on the internal column array from the row for an existing column. If the column doesn't exist, it will return the index of the "LAST existing column less than col", plus 1. Sheet where we are working. It might be different from ActiveSheet. Row (1 based) Column (1 based) The index on the column list for the row. (1 based) Number of comments on a given row. Row index (1 based) The number of comments on a given row. Maximum row index including comments. The maximum row with a comment. Modifies the format of the specified cell if it has a conditional format active. Returns a modified format with the applied conditional format if there was any change, null otherwise. Original format of the cell. Row of the cell (1 based) Column of the cell (1 based) If the format is modified by a conditional format, it returns the new format. If there are no changes returns null, to avoid creating new instances of TFlxFormat. Use it to convert the external names in a sheet to #REF! . It can be useful when you need to remove all external links in a file. NOTE: You will probably want to use too. Use it to convert formulas to their values. It can be useful if for example you are copying the sheet to another workbook, and you don't want any references to it. NOTE: You will probably want to use too, to convert named ranges besides the formulas.
Also note that if you want to convert a whole file, you need to call ConvertFormulasToValues in every sheet.
When true, it will only convert the formulas that do not refer to the same sheet. For example "=A1+Sheet2!A1" will be converted, but "=A2+A3" will not.
Converts a string into the best datatype (a boolean, a number, etc) RichString to convert. XF of the cell. It might be modified, for example, if you are entering a date. A list of formats allowed for dates and times. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. value converted to the best datatype. Copies one cell from one workbook to another. If the cell has a formula, it will be offset so it matches the new destination. Note: You will normally not need this method. To copy a range of cells from a workbook to another use instead. To copy a full sheet from one file to another, use . File from where we want to copy the cell. Sheet in sourceWorkbook where the data is. Sheet in this file where we want to copy the data. Row on the source file of the cell (1 based) Column on the source file of the cell (1 based) Row on the destination file of the cell (1 based) Column on the destination file of the cell (1 based) How the cell will be copied. Copies a range on the active sheet to a clipboard stream, on native and text formats. Range with the cells to copy. StringBuilder where the text will be copied. Leave it null to not copy to text. Stream where the xls native info will be copied. Returns the number of DataValidation structures in the active sheet. There are 2 ways you can access the data validation information on a sheet: If you know the row and column where you want to look, you can use to return the data validation in the cell.If you want to find out all data validation structures in the sheet, you can use , and to loop over all existing data validations. The default width for empty columns, in Excel internal units. (Character width of font 0 / 256) The default height for empty rows, in Excel internal units. (1/20th of a point). IMPORTANT: For this property to have any effect, you also need to set = false When this property is true, the row height for empty rows is calculated with the height of the "Normal" font and will change if you change the Normal style. When false, the value in will be used. Deletes all manual page breaks at row. If there is no manual page break on row, this method will do nothing. Row where to delete the Page break. Deletes an existing hyperlink. Index of the hyperlink (1 based). Deletes the image at position imageIndex. Index of the image to delete. (1 based) Deletes the name at the specified position. Important: If the name you are trying to delete is referenced by any formula/chart/whatever in your file, the name will not actually be deleted but hidden.
You won't see the name in Excel or in the formula, but it will be there and you can see it from FlexCel.
You can use to learn if a range might be deleted.
Also, note that if you later delete the formulas that reference those ranges FlexCel will remove those hanging ranges when saving. The only hidden ranges that will be present in the final file will be those that have active formulas referencing them.

Important:If the name wasn't deleted, will not change. This means that you can't have code like this: while (xls.NamedRangeCount > 0) //WRONG! This loop might never end. { xls.DeleteNamedRange(1); //Might not be deleted, and NamedRangeCount will never be 0. }
The correct code in this case would be: for (int i = xls.NamedRangeCount; i > 0; i--) xls.DeleteNamedRange(i);
For i = xls.NamedRangeCount To 1 Step -1 xls.DeleteNamedRange(i);
for i := xls.NamedRangeCount downto 1 do xls.DeleteNamedRange(i);
Index of the name to delete (1 based).
Deletes the graphic object at objectIndex. Use it with care, there are some graphics objects you don't want to remove (like comment boxes when you don't delete the associated comment.) Index of the object (1 based). Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3"
Deletes a range of cells, and moves all cells below up or all cells to the right left, depending on the insert mode. Range of cells to delete. Mode of deletion. Note that Row and Col are equivalent to ShiftRight and ShiftDown with a cell range of full rows or cols respectively. Deletes a range of cells, and moves all cells below up or all cells to the right left, depending on the insert mode. First sheet where to delete cells. Last sheet where to delete cells. Range of cells to delete. Mode of deletion. Note that Row and Col are equivalent to ShiftRight and ShiftDown with a cell range of full rows or cols respectively. Deletes the active sheet and aSheetCount-1 sheets more to the right. It will change all formula references to those sheets to invalid. Note that to add a sheet, you need to use The number of sheets to delete Returns a named style for the workbook. Name for the style. It must be an user defined name. Deletes all manual page breaks at col. If there is no manual page break on col, this method will do nothing. Column where to delete the Page break Evaluates a custom function you have added earlier with . You will not normally need to call this method, but it could be used for testing. If the function has not been added with , this method will return . Function you want to evaluate. Extra arguments you can use to evaluate the formula. Parameters for the formula. The result of evaluating the formula. It might be a string, a double, a boolean, a TFlxFormulaError or an Array. Empty files created by different versions of Excel can have different characteristics. For example, the default font in an Excel 2003 file is Arial, while the default in 2007 is Calibri. This property returns the version of file that is loaded into FlexCel. When calling or when opening a new file, FlexCel will update the value of this property. /// Exports a range of cells from the active sheet into a text file (character delimited columns). TextWriter where we want to save the file. Range of cells to export. If you want to export the full sheet, set it to null. Character used to delimit the fields in the exported file. You might normally use a comma (',') or a tab here. If true, hidden rows and columns will be exported. If false, they will be ignored. Exports a range of cells from the active sheet into a text file (fixed length columns). TextWriter where we want to save the file. Range of cells to export. If you want to export the full sheet, set it to null. This value only has effect if columnWidths is null. It will specify how many characters to use for the first column, and all other columns will be determinded acording to their ratio with the first.

For example, if the first column is 150 pixels wide and you specify "8" for this parameter, the first column will be padded to 8 characters when exporting. If the second column is 300 pixels wide, then it will be padded to 16 characters and so on. As this might not be 100% exact and depend in pixel measurements, you might want to specify columnWidths parameter instead of using this one.

Note: Setting this parameter to a negative value will assume the text in the collumns is already padded, and won't attempt to do any padding. Use this value if your data is padded in the spreadsheet itself. Array with the number of charaters that will be assigned to every column when exporting. Supplying this array allows you to specify exactly how many characters you want for every field, and that might be really necessary to interop with other applications. But you can also leave this parameter null and specify "charactersForFirstColumn" to let FlexCel calculate how many characters to apply for every field. If true, hidden rows and columns will be exported. If false, they will be ignored. If true and the cell text spans over more than one empty cell to the right, that text will be exported. When false (the default) only text that fits in the cell will be exported. When this value is true the printout will look better, but it will not be possible to reimport the data as the columns are lost.
Returns the file format that the file had when it was opened. If the file was created with , the file format when opened is xls. Given a Page Header or footer string including macros (like [FileName] or [PageNo]), this method will return the strings that go into the left, right and middle sections. Header or footer text. Text that should be left justified. Text that should be centered. Text that should be right justified. Finds a value inside a cell and returns the position for the cell, or null if nothing was found. Value we are searching. Range to Search. Null means the whole worksheet. Cell where to start searching. For the first time, use null. After this, you can use the result of this method to get the next cell. If true, the value will be searched down then left. If false, the search will go left then down. SEARCH IS FASTER WHEN BYROWS = FALSE If true, string searches will not be case sensitive, "a" = "A" If true, the search will cover formulas too. If true, only whole cells will be replaced. Cell where the string is found, or null if it is not found. Returns the index (0 based) on the list of named ranges for a given name and local sheet. If the range is not found, this method will return -1 You could use to get the name definition, or directly call to get a named range knowing its name and sheet position. Name of the range we are looking for. Case insensitive. Sheet where the range is stored. A range might be stored local to a sheet, or global (Excel default). To get a global range, make localSheetIndex=0 The index (0 based) in the list of named ranges, or -1 if the range is not found. Finds an object given its internal shape id, and returns the object index you need to access the same object in FlexCel. Shape id of the object. Finds an object by its name, and returns the ObjectPath you need to use this object. Note that if there is more than an object with the same name in the sheet, this method will return null Name of the object we are looking for. This is the first sheet that will be visible in the bar of sheet tabs at the bottom. Normally you will want this to be 1. Note that every time you change this value gets reset, because it makes no sense to preserve it.

If you want to change it, change it before saving. The same way, to read it, read it just after opening the file.

Please also note that if the first sheet you select is hidden, FlexCel will ignore this value and select a visible sheet. (otherwise Excel would crash)
Number of fonts defined in all the sheet. When calling GetFont(fontIndex), 0<=fontIndex<FormatCount. Number of custom formats defined in all the sheet. When calling GetFormat(XF), 0<=XF<FormatCount. This command is equivalent to Menu->Window->Freeze Panes. It will freeze the rows and columns above and to the left from cell. Note that because Excel works this way, when you the panes are suppressed and vice-versa See also All rows and columns above and to the left of this cell will be frozen. Set it to null or "A1" to unfreeze the panes. Returns the range of cells with AutoFilter in the Active sheet, or null if there is not AutoFilter. The "Bottom" coordinate of the returned range has no meaning, only Top, left and right are used. (since AutoFilters only have one row). Returns if the row is adjusting its size to the cell (the default) or if it has a fixed height. Row index (1-based) True if AutoFit is on for the row, False if it has a fixed size Returns the name for a built-in style. Style you want find out the name. Used only if style is or . It specifies the level of the outline, and must be a number between 1 and 7. Keep it 0 for all other styles. The name for the Built in style. Cell Format for a given cell This method gets the Format number (XF) of a cell. You can create new formats using the function. Row Index (1 based) Column Index (1 based) Sheet index (1 based). XF for the cell. Cell Format for a given cell This method gets the Format number (XF) of a cell. You can create new formats using the function. Row Index (1 based) Column Index (1 based) Sheet index (1 based). XF for the cell. Reads a Cell Value and Format from a sheet that is not the active sheet. Sheet where is the cell you want to get the value. Row, 1 based. Column, 1 based. XF format. Object with the value. It can be null, a double, a string, a boolean, a , a or a . Dates are returned as doubles. See the Reading Files demo to know how to use each type of the objects returned. Reads a Cell Value and Format. Row, 1 based. Column, 1 based. XF format. Object with the value. It can be null, a double, a string, a boolean, a , a or a . Dates are returned as doubles. See the Reading Files demo to know how to use each type of the objects returned. Reads a Cell Value and Format, using a column index for faster access. Normal GetCellValue(row, col) has to search for the column on a sorted list. If you are looping from 1 to this method is faster. Sheet where the cell is, 1 based. Row, 1 based. Column index, 1 based. XF format. Object with the value. It can be null, a double, a string, a boolean, a , a or a . Dates are returned as doubles. See the Reading Files demo to know how to use each type of the objects returned. Returns a chart from an object position and path. If the object does not contain a chart, it returns null. Note that charts can be first-level objects (in chart sheets), or they can be embedded inside other objects, that can be themselves embedded inside other objects. So you need to recursively look inside all objects to see if there are charts anywhere.
Look at the example in this topic to see how to get all charts in a sheet.
Index of the object (1-based) Index to the child object where the chart is. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3"
Returns the cell that is linked to the checkbox. If the object isn't a checkbox or it isn't linked, this method will return null. Note that when you change the value in the cell linked to this checkbox, the value of the checkbox will change.

The sheet returned in the TCellAddress might be null, in which case the reference is to a cell in the same sheet, or it might contain another sheet name.
Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" The cell address this checkbox is linked to, or null if it isn't linked.
Gets the value of a checkbox in the active sheet. Note that this only works for checkboxes added through the Forms toolbar. It won't return the values of ActiveX checkboxes. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" If the checkbox is checked or not.
Number of columns actually used on a given sheet. Sheet index where you want to find the columns (1 based) If true (the default) formatted columns (for example a column you selected and painted yellow) will be included in the count, even if it doesn't have data. Gets the XF format for the specified column, -1 if the column doesn't have format. Column index (1-based) Sheet index (1 based). XF format. Gets the XF format for the specified column, -1 if the column doesn't have format. Column index (1-based) Sheet index (1 based). XF format. Returns true if the column is hidden. Column index (1 based) True if the column is hidden. Returns all Column options at once (if the column is hidden, etc). Column Index (1 based) Returns a color from the color palette. This method will throw an exception if its "index" parameter is bigger than , (for example, for an automatic color). To get the real color, use Index of the entry to return. Must be 1<=index<= Color at position index. Returns a color from the active theme palette. Only has effect in Excel 2007, and you need .NET 3.5 or newer to get a color different from the standard "office" theme.

To get the full theme, look at
Color of the theme to get. Color for the given theme.
Returns the Outline level for a column. Column index (1 based) Outline level for a column. It is a number between 0 and 7. Returns the current Column width, in Excel internal units. (Character width of "font 0" / 256) Column Index (1 based) Column width in internal excel units.(Character width of "font 0" / 256) Returns the current Column width, in Excel internal units. (Character width of font 0 / 256) Column Index (1 based) If true, the width returned for a hidden column will be 0 and not its real width. Column width in internal excel units.(Character width of font 0 / 256) Returns the current Column width for a given sheet, in Excel internal units. (Character width of font 0 / 256) Sheet where to look for the width. Column Index (1 based) If true, the width returned for a hidden column will be 0 and not its real width. Column width in internal excel units.(Character width of font 0 / 256) Returns the comment at the specified row and column, or an empty string if there is no comment on that cell. Row index (1 based) Column index (1 based) The comment on the specified cell, String.Empty if there is no comment on it. Gets the popup placement for an existing comment. If there is not a comment on cell (row,col), this will return null. Row index (1 based). Column index (1 based) Placement of the comment popup. Returns the comment properties for the popup at position commentIndex Row index (1 based) Comment index (1 based) The comment properties. Returns the comment at position commentIndex on the specified row. Row index (1 based) Comment index (1 based). See Comment at the specified position. Returns the column for comment at position commentIndex Row with the comment. (1 based) Index of the comment (1 based) The column index corresponding to the comment. Returns the validation information for an specific cell. If the cell has no Data Validation associated, this method returns null. Row of the cell (1 based) Column of the cell (1 based) The data validation for a cell, or null if the cell has no Data Validation associated. Returns the data validation information for an entry of the index. There are 2 ways you can access the data validation information on a sheet: If you know the row and column where you want to look, you can use to return the data validation in the cell.If you want to find out all data validation structures in the sheet, you can use , and to loop over all existing data validations. Position in the list of data validations. (1 based) Data validation information. Returns a list of ranges for which a data validation definition applies. There are 2 ways you can access the data validation information on a sheet: If you know the row and column where you want to look, you can use to return the data validation in the cell.If you want to find out all data validation structures in the sheet, you can use , and to loop over all existing data validations. Position in the list of data validations. (1 based) A list of cell ranges. Returns Excel standard font for an empty cell. Returns Excel font for the "normal" style. This style is used to draw the row and column headings. Returns the font definition for a given font index. Font index. 0-based Font definition Returns the format definition for a given format index. Note that this method will only return Cell formats. If you want to read a Style format, use Format index 0-Based Format definition Returns the cell that is freezing the window, "A1" if no panes are frozen. See also The cell that is freezing the window, "A1" if no panes are frozen. This method returns the images associated to a given section of the header or footer. There can be only one image per section, and you refer it from the header string (see and ) by writing &G. NOTE THAT YOU CAN ONLY USE HEADER AND FOOTER GRAPHICS ON EXCEL XP AND NEWER. Excel 2000 and 97 will still open the file, but they will show no graphics. Type of page for which we want to retrieve the image. You will normally get this value from . Section of the header or footer for which we want to retrieve the image. Returns the image type for the data returned. (If it is a bmp, jpg or other) Stream where the image data will be copied. Returns the image position and size. Section of the header or footer for which we want to retrieve the image properties. Type of page for which we want to retrieve the image. You will normally get this value from . Image properties. Null if there is no image on this section. Returns the contents of formatted cell as HTML. Conditional formats are not applied, you need to call to the cell style for that. If is true, it will return the formula text instead of the value. For a list of html tags that might be returned, see the Remarks section. Cell Row (1 based) Cell Column (1 based) Version of the html returned. In XHTML, single tags have a "/" at the end, while in 4.0 they don't. Specifies if to use simple tags or for the returned HTML. Encoding for the returned string. Use UTF-8 if in doubt. An Html formatted string with the cell contents. Returns the hyperlink at position index on the list. Index of the hyperlink (1 based). Hyperlink description. Returns the cell range a hyperlink refers to. Index of the hyperlink (1 based). Range the hyperlink applies to. Returns an image and its type. Index of the image. (1 based) Object path to the image when it is a grouped image. For toplevel images you can use String.Empty. In other case, you need to use the value returned by

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Returns the image type for the data returned. (If it is a bmp, jpg or other) Stream where the image data will be copied. If false (the default) then imageIndex is an index to the list of images. When true imageIndex is an index to the list of all objects in the sheet. When you have the object id, you can avoid calling which is a slow method, by setting this parameter to true.
Returns the image name at position imageIndex. Index of the image (1 based) Image name. Returns image position and size. Index of the image (1 based) Image position and size. Returns the value of level for a column as set in . Note that the last value of a "keep together" range is 0. For example, if you set KeepColsTogether(1, 3, 8, true); GetKeepColsTogether will return 8 for columns 1 and 2, and 0 for column 3. Column index. (1 based) The Keep together level of the column. Returns the value of level for a row as set in . Note that the last value of a "keep together" range is 0. For example, if you set KeepRowsTogether(1, 3, 8, true); GetKeepRowsTogether will return 8 for rows 1 and 2, and 0 for row 3. Row index. (1 based) The Keep together level of the row. Gets the external link at position i. Index of the link (1 based). i goes between 1 and Returns the Named Range Definition. If the range is not user defined (like "Print_Area") it will have a one-char name, and the value is on the enum Index of the named range. Named Range Returns the Named Range Definition. If the range is not user defined (like "Print_Area") it will have a one-char name, and the value is on the enum Name of the range we are looking for. Case insensitive. Sheet where the range refers to. A range with the same name might be defined on more than one sheet.

To get the first range with the name, make refersToSheetIndex<=0

Note that a name can be stored in one sheet and refer to a different sheet. Or it might not refer to any sheet at all. (for example, the name "=name1+1" doesn't refer to any sheet.) And you could have a name "=Sheet1!a1" defined in sheet2. This name will "refer to" sheet1, but be defined in sheet2.

While names are normally all defined globally (sheet 0), if you need to get the names that are stored in an specific sheet, use instead. Named Range or null if the range does not exist.
Returns the Named Range Definition. If the range is not user defined (like "Print_Area") it will have a one-char name, and the value is on the enum Name of the range we are looking for. Case insensitive. Sheet where the range refers to. Note that this is not where the name is stored. Normally names are all stored globally (in sheet 0), but they refer to an specific sheet. For example, if you define the name "=Sheet2!a1" globally, it will be stored in sheet 0, but will refer to sheet2.

A name like "=Sheet1:Sheet2!A1 doesn't refer to any sheet. Sheet where the range is stored. A range might be stored local to a sheet, or global (Excel default). To get a global range, make localSheetIndex=0 Named Range or null if the range does not exist.
Returns the placement of the object. Index of the object (1-based) Coordinates of the object. Returns the input range for the object. If the object isn't a combobox or listbox, or it doesn't have an input range, this method will return null. Note that when you change the value in the cell linked to this object, the value of the object will change.

The sheet in the TCellAddresses returned might be null, in which case the reference is to a cell in the same sheet, or it might contain another sheet name.
Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" The input range, or null if the object doesn't have an input range.
Returns the cell that is linked to the object. If the object isn't an object that can be linked or it isn't linked, this method will return null. Note that when you change the value in the cell linked to this object, the value of the object will change.

The sheet returned in the TCellAddress might be null, in which case the reference is to a cell in the same sheet, or it might contain another sheet name.
Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" The cell address this object is linked to, or null if it isn't linked.
Returns the macro associated with an object, or null if there is no macro associated. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" The macro assocaited with the object, or null if there isn't any macro associated.
Returns the name of the object at objectIndex position. Object index. (1-based) Returns information on an object and all of its children. If the shapeId doesn't exist, this method returns null. Index of the object (1-based) When true, shape options will be retrieved. As this can be a slow operation, only specify true when you really need those options. When true, shape options will be retrieved. As this can be a slow operation, only specify true when you really need those options. Returns information on an object and all of its children. Index of the object (1-based) When true, shape options will be retrieved. As this can be a slow operation, only specify true when you really need those options. Gets the selected item in an object from the "Forms" palette. It can be a combobox or a listbox. 0 means no selection, 1 the first item in the list. Note that this only works for objects added through the Forms toolbar. It won't return the values of ActiveX objects. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" The position of the selected item in the object. 0 means no selection, 1 the first item is selected.
Returns the shape id of the object at objectIndex position. Shape Ids are internal identifiers for the shape, that you can use to uniquely identify a shape. Note that the shape id can change when you load the file, once it is loaded, it will remain the same for the shape lifetime. Object index. (1-based) Returns a list with all the objects that are completely inside a range of cells. Range of cells where we want to find the objects. In this list we will add all the objects found. note that the objects will be added to the list, so if you want just the objects in this range, make sure you clear the list before calling this method. Returns maximum, minimum and increment in any control that has a spin or dropdown, like a listbox, combobox, spinner or scrollbar. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" The spin properties.
Returns the current selected value of a scrollbar. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" The spin position.
This method will return all the headers and footers in a sheet. Converts a section of a page header or footer into an HTML string. Text to convert. You will normally get this parameter calling Tag to call an image for the section. It must be in the form: "<img src=...>" and you can get the image with . If null or empty, no img tag will be present in the resulting html, even if the section includes an image. Page we are printing. This parameter will be used if you have text like "Page 1 of 3" in the header.
If you are exporting to html, this value should be 1, since there are no page breaks in an html doc. Number of pages in the document. This parameter will be used if you have text like "Page 1 of 3" in the header.
If you are exporting to html, this value should be 1, since there are no page breaks in an html doc Version of html we are targeting. In Html 4 <br> is valid and <br/> is not. In XHtml the inverse is true. Code page used to encode the string. Normally this is UTF-8 Method that can customize the fonts used in the resulting string. It can be null if you don't want to do any modification to the fonts. An html string with the section.
Returns printer driver settings. This method is not intended to be used alone, but together with to copy printer driver information from a file to another. The printer driver settings. Gets the Margins on the active sheet. Gets if a radio button in the active sheet is selected or not. Note that this only works for radio buttons added through the Forms toolbar. It won't return the values of ActiveX radio buttons. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" If the radio button is selected or not.
Number of rows actually used on a given sheet. Gets the XF format for the specified row, -1 if the row doesn't have format. Row index (1-based) Sheet index (1 based). XF format. Gets the XF format for the specified row, -1 if the row doesn't have format. Row index (1-based) Sheet index (1 based). XF format. Returns the current Row height, in Excel internal units. (1/20th of a point) Row Index (1 based) Row height in internal excel units. Returns the current Row height for a given sheet, in Excel internal units. (1/20th of a point) Sheet where to look for the height. Row Index (1 based) If true, the height returned for a hidden row will be 0 and not its real height. Row height in internal Excel units.(1/20th of a point) Returns true if the row is hidden. Row index (1 based). True if the row is hidden. Returns true if the row is hidden. This method does not care about ActiveSheet. Sheet index (1 based) for the row. Row index (1 based). True if the row is hidden. Returns all Row options at once (if the row is autosize, if it is hidden, etc). Row Index (1 based) Row options Returns the Outline level for a row. Row index (1 based) Outline level for a row. It is a number between 0 and 7. Returns the selected ranges on a sheet. Finds a sheet name on the workbook and returns its index. Depending on the "throwException" parameter, this method will raise an exception or return -1 if the sheet does not exist. To change the active sheet by the name, use . See also Sheet you want to find. When sheetName does not exist, having throwException = true will raise an Exception. throwException = false will return -1 if the sheet is not found. Returns the sheet name for a given index. To change the active sheet by the name, use . See also Returns the horizontal and vertical offsets for the split windows. Zero means no split. See also The horizontal and vertical offsets for the split windows. Zero means no split. This method will return a rich string that is formatted similar to the way Excel shows it. For example, if you have "1.0" on a cell, and the cell is formatted as exponential, this method will return "1.0e+1" It might also change the color depending on the value and format. (for example, red for negative numbers) Cell Row (1 based). Cell Column (1 based) The resulting XF for the cell. Resulting color of the string. If for example you define red for negative numbers, and the result is red, this will be returned on aColor. If there is not color info on the format, it will remain unchanged. A rich string with the cell value. Returns the named style at position index for the workbook Position in the list of styles (1 based). The named style definition. Returns a named style for the workbook. You can also use this method to check if a style exists or not. Name for the style. It might be an user defined name, or a built-in name. You can get a list of buitin names with If true, the returned style will have the "IsStyle" property set to false, so you can apply this TFlxFormat to a cell. If false IsStyle will be true and you can use the format definition in style definitions. Setting this parameter to true is exactly the same as setting it to false and setting "IsStyle" property in the result to false, and also setting the parent of the resulting cell format to the cell style. The style definition, or null if the style doesn't exists. Gets the name of the style at position index. (1 based). Position in the list of styles (1 based). The name of the style. This is an advanced method, that allows you to get the full theme in use. Normally you will just want to replace colors, and you can do this with and methods. Much of the functionality in a theme applies to PowerPoint, not Excel.
This method is only available in .NET 3.5 or newer
Gets the major of minor font scheme in the theme. Font Scheme we want to get (either minor or major). Using "none" here will return null. Font definition. Returns an array of booleans where each value indicates if the name at position "i-1" is used by any formula, chart, or object in the file. If the name is in use, it can't be deleted. Note that the index here is Zero-based, different from all other Name indexes in FlexCel, because arrays in C# are always 0-based. So UsedRange[0] corresponds to GetNamedRange(1) and so on. An array of booleans indicating whether each name is used or not. Returns a list of the used colors on the palette. You can use it as an entry to to modify the palette. Returns the range of cells that make the what-if table that starts at aRow and aCol. If there is no What-if table at aRow, aCol, this method retuns null.

If both the returned rowInputCell and colInputCell are null, this means this table points to deleted references.
Sheet where the table is. First cell from where we want to get a what-if table. First cell from where we want to get a what-if table. Returns the row input cell for this table. If the table doesn't have a row input cell, this value is null. Returns the column input cell for this table. If the table doesn't have a column input cell, this value is null. The full range of the table, not incuding the formula headers. Only the cells where {=Table()} formulas are..
Returns a list of the upper cells of the What-if tables in the page. You can then use to get the definition of each one. A list of the coordinates with the first row and column for every what-if table in the sheet. Returns the window scroll for a specified pane. Pane to return. Color of the grid separator lines. Returns true if the active sheet has any AutoFilter defined. True if the active sheet has an AutoFilter, false otherwise. Returns true if a cell has an AutoFilter. Row of the cell we want to find out. (1 based) Column of the cell we want to find out. (1 based) True if the cell has an AutoFilter, false otherwise. True if the sheet has a Manual Horizontal page break on the row. Row to check. Returns true if there is any column marked as keeptogether in the sheet. This method traverses every column to find out, so it acn be somehow slow and you should not call it too often. Returns true if there is any row marked as keeptogether in the sheet. This method traverses every row to find out, so it acn be somehow slow and you should not call it too often. Returns true if the file has any macros. True if the file has macros. True if the sheet has a Manual Vertical page break on the column. Column to check Factor to multiply default row heights. See remarks for a detailed explanation. When true number 0 will be shown as empty. You can also set this option with The count of hyperlinks on the active sheet The number of images on the active sheet. Returns the general index on the object list for an image. You can use then this index on SendToBack, for example. Image index on the image array. Image index on the total objects array. Imports a text file (character-delimited columns) into the current sheet. Note that this method won't clear any existing data. TextReader with the text to import. Character used to separate columns. Row in the Active sheet where we will start importing the text file. Column in the Active sheet where we will start importing the text file. An array of elements, telling how each column should be imported.
See the example in for more information on how to use it. A list of formats allowed for dates and times, when opening text files. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. This value has no meaning in normal xls files, only text files.
Imports a text file (fixed length columns) into the current sheet. Note that this method won't clear any existing data. StreamReader with the text to import. Row in the Active sheet where we will start importing the text file. Column in the Active sheet where we will start importing the text file. An array with the column widths for every column you want to import. An array of elements, telling how each column should be imported.
See the example in for more information on how to use it. A list of formats allowed for dates and times, when opening text files. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. This value has no meaning in normal xls files, only text files.
Inserts and/or copies a range of cells from one place to another.
This method is one of the most important on FlexCel API, and it allows you to copy ranges of cells from one place to another, adapting the formulas, images and everything as Excel would do it.
The range of cells you want to copy. If you specify full rows, they will be copied with Row format information and size. If you copy just a part of a row, Row format will not be copied. The same applies to columns. The only way to copy all row and columns, is to specify the full (A:IV) range. Destination row where the cells will be copied. Destination column where the cells will be copied. Number of times the sourceRange will be copied at (desRow, destCol). If you make for example destCount=2, sourceRange will be copied 2 times at (destRow, destCol) How the cells on destination will be inserted. They can shift down or left. Specifying Row or Col as mode is equivalent to specify a sourceRange including full rows or columns respectively. Which cells on sourceRange will be copied. If you intend to replace values on the copied cells, you might specify OnlyFormulas. If you just want to insert cells and not copy, specify None. Workbook from where we are copying the cells. This might be the same workbook, and you would by copying from another sheet. Sheet index on the source workbook. If sourceWorkbook is the same instance as this, and sourceSheet is the active sheet on the instance, this method is equivalent to the simpler overloaded version. Returns the objects that are in the range to be copied this is an optimization so you don't have to find those objects again. Set it to null to not return any objects
Inserts and copies sheet "CopyFrom", SheetCount times before InsertBefore. If sourceWorkbook is not null, sheets will be copied from another file. To insert empty sheets, set CopyFrom=0. The sheet index of the sheet we are copying from (1 based). Set it to 0 to insert Empty sheets. The sheet before which we will insert (1 based). This might be SheetCount+1, to insert at the end of the Workbook. The number of sheets to insert. Workbook from where the sheet will be copied from. Null to copy from the same file. Inserts and copies all the sheets in the "CopyFrom" array, before InsertBefore into another workbook. The sheet index of all the sheets we are copying from (1 based). The sheet before which we will insert (1 based). This might be SheetCount+1, to insert at the end of the Workbook. Workbook from where the sheet will be copied from. On this overloaded version it cannot be null. Returns true if the Custom formula function has been added to the FlexCel recalculating engine. Note that internal functions are not returned by this method, but user defined functions pre-defined in FlexCel will be. Name of the function. Case insensitive. Returns if the function is defined as an internal or external function. True if the name has been added, false if not. True if the specified row does not have any cells, nor any format on it. In short, this row has never been used. Row to test (1-based) True if the specified column does not have any format applied on it. Column to test (1-based) Returns true when the column is the one that is used for collapsing an outline. (it has a "+" at the top). Column to test (1 based) True if the node has a "+" mark. Returns true when the column is an outline node (it has a "+" at the top) and it is closed (all children are hidden). Column to test (1 based) True if the column contains a node and it is collapsed, false otherwise. Returns true when the row is an outline node (it has a "+" at the left) and it is closed (all children are hidden). Row to test (1 based) True if the row contains a node and it is collapsed, false otherwise. Returns true when the row is the one that is used for collapsing an outline. (it has a "+" at the left). Row to test (1 based) True if the node has a "+" mark. Determines if the file is a template (xlt format instead of xls). Both file formats are nearly identical, but there is an extra record needed so the file is a proper xlt template. Tells FlexCel that it must try to keep together the columns between col1 and col2 (inclusive) when printing. This method does nothing to the resulting Excel file since this is not an Excel feature. To actually do something, you need to call after calling this method. First column of the group you want to keep together. Last column of the group you want to keep together. Set this parameter to 0 to remove the condition to keep columns together. Any bigger than zero value will mean that the rows must be kept together. You can use more than one level to tell FlexCel to try to keep different groups together, If all columns cannot be kept together in one page, FlexCel will try to keep as much columns with higher levels as possible. See the example for more information. If true, all existing level values in the column range will be replaced. If false, the new level values will be written only if they are bigger than the existing ones. You can use the false setting to set many values in the any order.
For example, if you first call KeepColsTogether(2, 3, 5,false) and then KeepColsTogether(1, 10, 1, false), columns 2 and 3 will keep the level in 5. If you did so with this parameter true, the second call would replace the levels of columns 2 and 3 to level 1, making all column levels between 1 and 10 equal to 1.
Tells FlexCel that it must try to keep together the rows between row1 and row2 (inclusive) when printing. This method does nothing to the resulting Excel file since this is not an Excel feature. To actually do something, you need to call after calling this method. First row of the group you want to keep together. Last row of the group you want to keep together. Set this parameter to 0 to remove the condition to keep rows together. Any bigger than zero value will mean that the rows must be kept together. You can use more than one level to tell FlexCel to try to keep different groups together. If all rows cannot be kept together in one page, FlexCel will try to keep as much rows with higher levels as possible. See the example for more information. If true, all existing level values in the row range will be replaced. If false, the new level values will be written only if they are bigger than the existing ones. You can use the false setting to set many values in the any order.
For example, if you first call KeepRowsTogether(2, 3, 5, false) and then KeepRowsTogether(1, 10, 1, false), rows 2 and 3 will keep the level in 5. If you did so with this parameter true, the second call would replace the levels of rows 2 and 3 to level 1, making all row levels between 1 and 10 equal to 1.
A Linespacing of 1 means use the standard GDI+ linespace when a cell has more than one line. A linespace of 2 would mean double linespacing, and 0.5 would mean half linespacing. Normally linespacing in Excel is a little bigger than linespacing in GDI+, so you can use this property to fine tune what you need.
This property doesn't alter the Excel file in any way. It is only used when rendering.
Returns the number of external links for the file. You can access those links with and Marks a column as candidate for future autofit. Note that this method will NOT change anything on the file. It just "marks" the column so you can use it later with . Column index (1 based) Set this to true to mark the column for autofitting, false for removing the column from autofitting list. You will normally want to set this parameter to 1, which means that autofit will be made with standard measurements. If you set it to for example 1.1, then columns will be adjusted to 110% percent of what their calculated width was. Use this parameter to fine-tune autofiting, if for example columns are too small when opening the file in Excel. You will normally set this parameter to 0, which means standard autofit. If you set it to a value, the row will be made larger by that ammount from the calculated autofit. Different from the "adjustment" parameter, this parameter adds a fixed size to the column and not a percentage. The final size of the column will be: FinalSize = CalulatedAutoFit * adjustment + adjusmentFixed Minimum final width for the column to autofit. If the calculated value is less than minWidth, column size will be set to minWidth.
A negative value on minWidth means the column size will be no smaller than the original width. Maximum final width for the column to autofit. If the calculated value is more than maxWidth, column size will be set to maxWidth.
maxWidth = 0 means no maxWidth.
A negative value on maxWidth means the column size will be no bigger than the original width. If true, only the cell will be autofitted, not the whole column.
Marks a row as candidate for future autofit. Note that this method will NOT change anything on the file. It just "marks" the row so you can use it later with . To change the actual autofit status on the xls file, use NOTE: This method will not mark empty rows. Row index (1 based) Set this to true to mark the row for autofitting, false for removing the row from autofitting list. You will normally want to set this parameter to 1, which means that autofit will be made with standard measurements. If you set it to for example 1.1, then rows will be adjusted to 110% percent of what their calculated height was. Use this parameter to fine-tune autofiting, if for example rows are too small when opening the file in Excel. You will normally set this parameter to 0, which means standard autofit. If you set it to a value, the row will be made larger by that ammount from the calculated autofit. Different from the "adjustment" parameter, this parameter adds a fixed size to the row and not a percentage. The final size of the row will be: FinalSize = CalulatedAutoFit * adjustment + adjusmentFixed Minimum final height for the row to autofit. If the calculated value is less than minHeight, row size will be set to minHeight.
A negative value on minHeight means the row size will be no smaller than the original height. Maximum final height for the row to autofit. If the calculated value is more than maxHeigth, row size will be set to maxHeight.
maxHeight = 0 means no maxHeight.
A negative value on maxHeight means the row size will be no bigger than the original height. If true, only the cell will be autofitted, not the whole row.
Merges a number of cells into one. First row of the merged cell. First column of the merged cell. Last row of the merged cell. Last column of the merged cell. Moves a range of cells, the same way Excel does it. All references pointing to the old range will be relocated to the new, and all exisitng references to the new range will be relocated to #ref. Range you want to move. Row where the range will be relocated. Column where the range will be relocated. This parameter switches between 2 different working modes: Modes NoneDown and NoneRight are the same, and work the same way as when you drag a range of cells in Excel to a new location. Cells on the new range will be replaced by the old, and cells where the old range was located will be cleared(not deleted). No cells are insered or deleted. The other modes behave like when you select a range in Excel, cut it, and then right click and select "Insert Cut Cells...". The old range will be inserted where the new range goes, cells where the old range was will be deleted(not cleared). Using for example MoveRange(CellRange, newRow, newCol, TFlxInsertMode.ShiftRight) is equivalent to: 1) InsertAndCopyRange(CellRange, newRow, newCol, 1, TFlxInsertMode.ShiftRight, TRangeCopyMode.None); 2) MoveRange(CellRange, newRow, newCol, TFlxInsertMode.NoneRight); 3) DeleteRange(CellRange, TFlxInsertMode.ShiftRight); The count of all named ranges on the file. Returns the most similar entry on the excel palette for a given color. Color we want to use. Most similar color on the Excel palette. IMPORTANT: Since FlexCel 5.1, using before saving should normally be used instead of this method to get an optimized palette. Just enter the true colors in FlexCel, and call before saving.

Returns the most similar entry on the excel palette for a given color. If UsedColors is not null, it will try to modify the Excel color palette to get a better match on the color, modifying among the not used colors. Note that modifying the standard palette might result on a file that is not easy to edit on Excel later, since it does not have the standard Excel colors.
Color we want to use. If null, this behaves like the standard NearestColorIndex. To get a list of used colors for the first call, use . After the first call, keep using the same UsedColors structure and do not call GetUsedPaletteColors again, to avoid overwriting colors that are not yet inserted into the xls file with new ones. You can call GetUsedPaletteColors only after you added the format with Most similar color on the Excel palette.
Returns the most similar entry on the theme palette for a given color. Color we want to use. Returns the tint to apply to the theme color. Most similar color on the theme palette. Creates a new empty file, with the specified number of sheets. Number of sheets for the new file. Different Excel versions save different empty files. By default, FlexCel will create a new file that looks like a file created by Excel 2003, but you can change the version of the new file created with this parameter. Count of all graphical objects on the sheet. They can be charts, images, shapes, etc. Returns the index on the image collection of an object. Note that this method is slow when there are many images, so use it sparingly. General index of the image on the Object collection. -1 if the object is not an image, else the index on the image collection. Loads a new Spreadsheet form a stream, on one of the specified formats. Stream to open, must be a seekable stream. Verify it is on the correct position. List with possible file formats to try Delimiter used to separate columns, if the format is First row where we will copy the cells on the new sheet, for First column where we will copy the cells on the new sheet, for An array of elements, telling how each column should be imported.
See the example Encoding used by the file we are reading, when opening a Text-delimited file (csv or txt). This parameter has no effect on xls files. If ommited, it is assumed to be Encoding.Default.This parameter only applies when reading Text files. It is the same on the constructor of a StreamReader, and it says if BOM must be used at the beginning of the file. It defaults to true. for more information on how to use it. A list of formats allowed for dates and times, when opening text files. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. This value has no meaning in normal xls files, only text files.
Loads a new Spreadsheet form disk, on one of the specified formats. File to open List with possible file formats to try Delimiter used to separate columns, if the format is First row where we will copy the cells on the new sheet, for First column where we will copy the cells on the new sheet, for An array of elements, telling how each column should be imported. Encoding used by the file we are reading, when opening a Text-delimited file (csv or txt). This parameter has no effect on xls files. If ommited, it is assumed to be Encoding.Default This parameter only applies when reading Text files. It is the same on the constructor of a StreamReader, and it says if BOM must be used at the beginning of the file. It defaults to true. A list of formats allowed for dates and times, when opening text files. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. This value has no meaning in normal xls files, only text files. Changes the colors in the color palette so they can represent better the colors in use. This method will change the colors not used in the palette by colors used in the sheet. If there are more unique colors in the sheet than the 56 available in the palette, only the first colors will be changed.

When FlexCel saves an xls file, it saves the color information twice: The real color for Excel 2007 and newer, and the indexed color for older Excel versions. This method optimizes the palette of indexed colors so they look better in Excel 2003 or older. It doesn't effect Excel 2007 or newer at all.
If true, Excel will try to compress the pictures to keep sizes down. This option only aplies to Excel 2007 or newer. Defines whether to save a backup copy of the workbook or not. Whether the "Check for compatibility" dialog will pop up when saving as xls in Excel 2007 or newer. This option only aplies to Excel 2007 or newer. Excel has 2 different date systems. On windows systems it uses 1900 based dates, and on Macintosh systems it uses 1904 dates. You can change this on Excel under Options, and this property allows you to know and change which format is being used. If true, the full workbook will be recalculated when open in Excel. This option only aplies to Excel 2007 or newer. Number of threads that can be used at the same time by Excel when recalculating. Set it to 0 to disable multithread recalculation, and to -1 to let Excel decide the best number of threads to use. The maximum value for this property is 1024.
This option only aplies to Excel 2007 or newer.
This property has the value of the corresponding option on Excel options. Use this property to change the reference system used in the file. Note that this option only changes how Excel and FlexCel will display the file. Internally, the formulas will always be stored in A1 format, and converted by Excel to and from R1C1 if this property is true. FlexCel will also use this property to render the file when it is set to print formulas.



Also, this property doesn't change how FlexCel will parse or return the formula text in the cells or names. By default, even if this property is true, you will need to enter the formulas in FlexCel in A1 mode. To change the entry mode in FlexCel, please use
Reads and writes the recalculating options in the file. Note that this only affects the file and how Excel will recalculate, not how FlexCel does its recalcuation. FlexCel ignores this setting and uses instead. This property has the value of the corresponding option on Excel options. This handles the setting of Automatic Styles inside the outline options. Determines whether the summary columns should be right to or left to the details on outline. Determines whether the summary rows should be below or above details on outline. Page footer on the active sheet. For a description on the format of the string, see Page header on the active sheet. Note that this property sets the same header for the all the pages. In Excel 2007 or newer you can set a different header for the first page, or odd/even pages. If you want to control these options, see and .
A page header is a string that contains the text for the 3 parts of the header.

The Left section begins with &L, the Center section with &C and the Right with &R

For example, the text"&LThis goes at the left!&CThis is centered!&RThis is right aligned" will write text to all the sections.

This is the full list of macros you can include:

&& The "&" character itself&L Start of the left section&C Start of the centered section&R Start of the right section&P Current page number&N Page count&D Current date&T Current time&A Sheet name&F File name without path&Z File path without file name (XP or Newer)&G Picture (XP or Newer)&U Underlining on/off&E Double underlining on/off&S Strikeout on/off&X Superscript on/off&Y Subscript on/off&"<fontname>" Set new font <fontname>&"<fontname>,<fontstyle>" Set new font with specified style <fontstyle>. The style <fontstyle> is in most cases one of "Regular", "Bold", "Italic", or "Bold Italic". But this setting is dependent on the used font, it may differ (localized style names, or "Standard", "Oblique", ...).&<fontheight> Set font height in points (<fontheight> is a decimal value). If this command is followed by a plain number to be printed in the header, it will be separated from the font height with a space character.

Normally, the easiest way to find out which header string you need is to create an xls file on Excel, add a header, open the file with FlexCel and take a look at the generated header (You can use the ApiMate tool for that).
Returns true if the internal color palette contains the exact specified color. Note that Excel 2007 doesn't use the color palette, so this method is not needed there. Color to check. True if color is defined. Pastes the clipboard contents beginning on cells row, col. First row where to paste. First column where to paste. A string containing a tab separated text format. How the pasted cells will be inserted on the file. Pastes the clipboard contents beginning on cells row, col. First row where to paste. First column where to paste. A stream containing a Native xls format. How the pasted cells will be inserted on the file. Number of copies to print. Page number that will be assigned to the first sheet when printing. (So it will show in page headers/footers). You might set this value to null to keep the page automatic. Also, the value returned here will be null it this value is not set (Set to Automatic) True if the gray grid lines are printed when printing the spreadsheet. When true the sheet will print horizontally centered on the page. When true the row and column labels (A,B...etc for columns, 1,2... for rows) will be printed. If set, the sheet will be printed on at most this number of horizontal pages. Use 0 to have unlimited horizontal pages while still limiting the vertical pages with . (see "Preparing for printing" in the Pdf Api Guide) If set, the sheet will be printed on at most this number of vertical pages. Use 0 to have unlimited vertical pages while still limiting the horizontal pages with . (see "Preparing for printing" in the Pdf Api Guide) Misc options. Returns the dimensions for the selected paper. See also . Pre-defined standard paper size. If you want to set up a printer specific paper size, see Percent to grow/shrink the sheet. If true, sheet will be configured to fit on x . When true the sheet will print vertically centered on the page. Horizontal printer resolution on DPI. Vertical printer resolution on DPI. When is manual, use this method to force a recalculation of the spreadsheet. When true this method will always perform a recalc. When false, only if there has been a change on the spreadsheet. While for performance reasons you will normally want to keep this false, you might need to set it to true if the formulas refer to functions like "=NOW()" or "=RANDOM()" that change every time you recalculate. Use this method to validate a file. FlexCel does not support all the range of functions from Excel when recalculating, so unknown functions will return "#NAME!" errors. Using this function you can validate your user worksheets and see if all the formulas they use are supported. This method will recalculate a single cell and all of it's dependencies, but not the whole workbook.

USE THIS METHOD WITH CARE! You will normally want to simply call or just save the file and let FlexCel calculate the workbook for you. This method is for rare situations where you are making thousands of recalculations and the speed of Recalc is not enough, and you have a big part of the spreadsheet that you know that didn't change.
Sheet for the cell we want to recalculate. Use here to refer to the active sheet. Row for the cell we want to recalculate. (1 based) Column for the cell we want to recalculate. (1 based) When true this method will always perform a recalc. When false, only if there has been a change on the spreadsheet. While for performance reasons you will normally want to keep this false, you might need to set it to true if the formulas refer to functions like "=NOW()" or "=RANDOM()" that change every time you recalculate. The result of the formula at the cell, or null if there is no formula.
Calculates the value of any formula and returns the result. The expression must be a valid Excel formula, it must start with "=", and cell references that don't specify a sheet (like for example "=A2") will refer to the active sheet. Cells used by the formula will be recalculated as needed too.
You can use this method as a simple calculator, or to calculate things like the sum of a range of cells in the spreadsheet. Look at the example for more information on how to use it.
Note that we will consider the expresion to be located in the cell A1 of the Active sheet. So for example "=ROW()" will return 1, and "=A2" will return the value of A2 in the active sheet.
Formula to evaluate. It must start with "=" and be a valid Excel formula. When true this method will always perform a recalc. When false, only if there has been a change on the spreadsheet. While for performance reasons you will normally want to keep this false, you might need to set it to true if the formulas refer to functions like "=NOW()" or "=RANDOM()" that change every time you recalculate. The value of the calculated formula.
When false Excel will not recalculate the formulas when loading the generated file. Set this property to change how the file will be recalculated. Note that this affects only how FlexCel recalculates the file, but not how Excel will recalculate it. It doesn't change anything in the generated file. To change the options for the file, use instead. Removes the AutoFilter from the active sheet. If there is no AutoFilter in the sheet, this method does nothing. If the file has macros, this method will remove them. Renames an existing style. Note that this might be an user-defined style, you can't rename built-in styles. Name of the existing style in the workbook. New name for the style. It must not exist. !WARNING! Not CF compliant. This method renders a range of cells into an image, and returns it.
No objects will be drawn on the cells, you can use to draw those.
Important note: This method will only render the text inside the cell, not the borders or anything else. If you want to export an xls file to images, you probably want to use
Index of the first row to render. (1 based). Index of the first column to render (1 based). Index of the last row to render. (1 based). Index of the last column to render (1 based). If true, the image will have a solid background with the color of the cells. If false, the image will have a transparent background. Resolution of the image to create in dots per inch. If creating the image for the screen, use 96 dpi. Interpolation mode used to render the object. For more information, see Smoothing mode used to render the object. For more information, see If true text will be antialiased when rendering. An image with the rendered cells.
!WARNING! Not CF compliant. This method renders any object (chart, image, autoshape, etc) into an image, and returns it. Index of the object (1 based). Resolution of the image to create in dots per inch. If creating the image for the screen, use 96 dpi. Interpolation mode used to render the object. For more information, see Smoothing mode used to render the object. For more information, see If true text will be antialiased when rendering for example a chart. If false, this method will return null. Use it if you need to know the image dimensions, but do not care about the real image since it is faster and uses less resources. Properties of the shape you are about to render. You can get them by calling . Color for the background of the image. For a transparent background, use ColorUtil.Empty. Returns the image dimension of the rendered object in points. Note that this can be different from the image size reported by because shadows or rotation of the image. You can get the image size in pixels just by looking at the image returned. Top-left coordinates of the image in points. While this is normally the same as the image coordinates you get in the properties, if there is a shadow to the right or to the top it might change. Use it to properly position the image where you want it. Size of the returned image in pixels. You only need to use this if returnImage is false, since the returned bitmap will be null. Otherwise, you can just read the bitmap size. Might return null if the image is not visible. Replaces the instances of oldValue by newValue in the active sheet. Value we want to replace. Value we want to use to replace oldValue. Range to Search. Null means the whole worksheet. If true, string searches will not be case sensitive, "a" = "A" If true, the search will cover formulas too. If true, only whole cells will be replaced. The number of replacements done. Number of rows actually used on the sheet. Saves the file to a stream. Stream where to save the file. Must be a seekable stream. File format. Automatic will try to guess it from the filename, if present. Delimiter to use if FileFormat is Encoding for the generated file, when writing a Text-delimited file (csv or txt). This parameter has no effect on xls files. If ommited, Encoding.Default will be used. Note that to create a file with BOM (byte order marker) you need to specify an encoding here, the same as you do with a StreamWriter. Saves the file to a disk. File to save. If is false, then fileName MUST NOT exist. File format. Automatic will try to guess it from the filename, if present. Delimiter to use if FileFormat is Encoding for the generated file, when writing a Text-delimited file (csv or txt). This parameter has no effect on xls files. If ommited, Encoding.Default will be used. Note that to create a file with BOM (byte order marker) you need to specify an encoding here, the same as you do with a StreamWriter. This method will save the file in a format that will remain the same if the file is not modified. Normal xls files contain TimeStamp fields that might be modified when the file is downloaded or just copied.

While you will not be able to load the file saved, you might use this method to create a hash of a file and compare it to others to know if something changed.
Stream where the file will be saved. You will probably want to hash this stream to store the corresponding hash. A list with all the records you don't wish to include in the saved file (like for example cell selection). You will normally will want to specify TExcludedRecords.All here, but you can OR different members of the TExcludedRecords enumerations for more control on what is saved.
Scrolls the window to an specified place. Pane to move. Note that if you move for example the left column of the upper left pane, you will also move the left column of the lower left pane. First visible row. First visible column. Selects a group of cells on a given pane. If you just want to select just one cell, you can use the simpler method Cells to select. Sends the graphical object one layer down. It will show below and will be covered by image at objectIndex-1. Index of the object to move. (1 based) Sends the graphical object one layer up on the display (z-order) position. It will show above and will cover the image at objectIndex+1. Index of the object to move. (1 based) Sends the graphical object to the bottom layer on the display (z-order) position. It will show below and will be covered by all other objects on the sheet. Index of the object to move. (1 based) Sets the AutoFilter in the Active sheet to point ot the range specified. Row where the AutoFilter will be placed (1 based). First column for the AutoFilter range (1 based). Last column for the AutoFilter range (1 based). Sets the current row to automatically autosize to the biggest cell or not. Row index (1-based) If true, row will have autofit. Sets the Cell format (XF) on a given cell. You can create new formats using the function. Row index of the cell (1 based) Column index of the cell (1 based) XF Format index. See Using FlexCel API.pdf.> Changes part of the Cell format on a range of cells. WARNING! This method is slower than the other SetCellFormat versions, use it only if you do not care about maximum performance or if you just can't use the other SetCellFormat versions. This particular version of SetCellFormat has to read the format on each cell, modify it and write it back. While still very fast, it is not as fast as just setting the format on a cell. Row index of the top cell on the range (1 based) Column index of the left cell on the range (1 based) Row index of the bottom cell on the range (1 based) Column index of the right cell on the range (1 based) Format to apply to the cells.> Indicates which properties of newFormat will be applied to the cells. When true, the format for the border will be applied only to the outer cells in the range. This can be useful for example to draw a box around a range of cells, but not drawing borders inside the range. Other parameters, like the cell background, will still be applied to the full range. Sets the Cell format (XF) on a range of cells. You can create new formats using the function. Row index of the top cell on the range (1 based) Column index of the left cell on the range (1 based) Row index of the bottom cell on the range (1 based) Column index of the right cell on the range (1 based) XF Format index. See Using FlexCel API.pdf.> Enters an HTML formatted string into a cell, and tries to match the Excel formats with the Html formatting tags. Note that the rich text inside Excel is more limited than xls (you are limited to only changing font attributes), so many tags from the HTML tags might be ignored. Whenever a tag is not understood or cannot be mapped into Excel, it will just be omitted. For a list of supported tags, see the Remarks section. Cell Row (1 based) Cell Column (1 based) Text with an html formatted string. Format for the cell. It can be -1 to keep the existing format. Converts a string to the best datatype, and the enters it into a cell. Cell Row (1 based) Cell Column (1 based) Value to enter into the cell. New XF of the cell. It can be modified, i.e. if you enter a date, the XF will be converted to a Date XF. A list of formats allowed for dates and times. Windows is a little liberal in what it thinks can be a date, and it can convert things like "1.2" into dates. By setting this property, you can ensure the dates are only in the formats you expect. If you leave it null, we will trust "DateTime.TryParse" to guess the correct values. Sets the value on a cell. Sheet number, 1 based Row, 1 based. Column, 1 based. Value to set. Format to Set. You normally get this number with function. Use -1 to keep format unchanged. Sets the value and format on a cell. Row, 1 based. Column, 1 based. Value to set. Format to Set. You normally get this number with function. Use -1 to keep format unchanged. Links the checkbox to a cell, so when the cell changes the checkbox changes too, and vice-versa. To unlink the cell, make linkedCell null. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Cell that will be linked to the checkbox. To unlink the checkbox, make this parameter null.
Sets the value of a checkbox in the active sheet. Note that this only works for checkboxes added through the Forms toolbar. It won't return the values of ActiveX checkboxes. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Value to set.
Sets the format characteristics specified in ApplyFormat for the entire column. Column to set. Format to apply. Indicates which properties of newFormat will be applied to the cells. When true, all existing cells on the column will be reset to this format. This is the standard Excel behavior and the recommended option. If you don't care about existing cells, you can speed up this method by setting it to false. Sets the format for an entire column. Column to set. XF Format index. When true, all existing cells on the column will be reset to this format. This is the standard Excel behavior and the recommended option. If you don't care about existing cells, you can speed up this method by setting it to false. Hides or shows an specific column. Column index (1 based). If true, column will be hidden, if false it will be visible. Sets all Column options at once (if the column is hidden, etc). Column Index (1 based) A flag with all column options. Changes a color on the Excel color palette. Index of the entry to change. Must be 1<=indexlt;= Color to set. Changes a color on the Excel theme. Only has effect in Excel 2007, and you need .NET 3.5 or newer to use this method.

If you want to change the full theme, use and
Color of the theme to change. Color to set.
Sets the Outline level for a column range. Column index of the first column on the range. (1 based) Column index of the last column on the range. (1 based) Outline level. must be between 0 and 7. Sets the current Column width, in Excel internal units. (Character width of font 0 / 256) Column Index (1 based) Column width, in Excel internal units. (Character width of font 0 / 256). See Sets or deletes a comment at the specified cell. Row index (1 based) Column index (1 based) Text of the comment. Set it to String.Empty to delete the comment. Author of the comment. Properties of the popup. Sets the popup placement for an existing comment. If there is not a comment on cell (row,col), this will create an empty one. Row index (1 based) Column index (1 based) Placement and properties of the comment popup. Null if there is no comment on the cell. This parameter can be a TImageProperties, or the more complete derived class TCommentProperties, if you need to set extra information like the text alignment. Sets the comment properties at the specified index. Row index (1 based) Comment index (1 based) Comment properties. This parameter can be a TImageProperties, or the more complete derived class TCommentProperties, if you need to set extra information like the text alignment. Changes the properties (text and position of the popup) for an existing comment at commentIndex. To delete a comment, set a "new TRichString()" as the "value" param. To add a new comment, use . Row Index (1 based) Comment index (1 based) Text of the comment. Set it to "new TRichString()" to remove the comment. Properties of the popup. Sets the font definition for a given font index. Normally it is of not use, (you should use AddFont or AddFormat instead) but could be used to change the default font format. (using SetFont(0, font); ) Font index. 0-based Font definition Sets the font definition for a given format index. Normally it is of not use, (you should use AddFont or AddFormat instead) but could be used to change the default format. (using SetFormat(0, fmt); ). This emthod will change style XFs and CellXfs, depending if aFormat is a StyleXF or a CellXF. Format index. 0-based Format definition This method sets the image associated to a given section of the header or footer. There can be only one image per section, and you refer it from the header string (see and ) by writing &G. NOTE THAT YOU CAN ONLY USE HEADER AND FOOTER GRAPHICS ON EXCEL XP AND NEWER. Excel 2000 and 97 will still open the file, but they will show no graphics. ALSO, NOTE that only setting the image will not display it. You need to write &G in the corresponding or Type of page for which we want to set the image. You will normally get this value from . Section of the header or footer for which we want to set the image. The image type for the data sent. (If it is a bmp, jpg or other) Image data. Image size. Modifies an existing Hyperlink. Use to add a new one. Index of the hyperlink (1 based). Hyperlink description. Changes the cells an hyperlink is linked to. Index of the hyperlink (1 based). Range of cells the hyperlink will refer to. Sets the image data and / or image properties of an existing image. Index of the image on the sheet array (1-based) Image data. Image type of the new data. If false (the default) then imageIndex is an index to the list of images. When true imageIndex is an index to the list of all objects in the sheet. When you have the object id, you can avoid calling which is a slow method, by setting this parameter to true. Path to the object, when the object is grouped with others. This parameter only has meaning if usesObjectIndex is true.

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3"
Sets the image properties of an existing image. Index of the image on the sheet array (1-based) Image size, placement, etc. Changes the external link at position i for a new value. Note that you can't add new links with this method, external links are added automatically when you add formulas that reference other worksheets. This method is only to change existing links to point to other place. All formulas pointing to the old link will point to the new.

Note that the replacing filename should have the same sheets as the original, or the formulas might break.
Index of the link (1 based). i goes between 1 and Please make sure this is a VALID filename, or you are likely to crash Excel. Also, xls file format doesn't like paths starting with "..", so you might need to enter the full path here.
Modifies or adds a Named Range. If the named range exists, it will be modified, else it will be added. If the range is not user defined (like "Print_Area") it will have a one-char name, and the value is on the enum Look at the example for more information. Data of the named range. You don't need to specify the RPN Array. The name index of the inserted or modified range (1 based). Modifies a Named Range in the specified position. You could normally use to do this, but if you want to modify the name of the named range, then you need to use this overloaded version. would add a new range instead of modifying the existing one if you change the name. Look at the example for more information on how to use it. Index of the named range we are trying to modify. Data of the named range. You don't need to specify the RPN Array. Sets the object placement. Index of the object (1-based) Object path t the shape if this is a grouped shape. Coordinates of the object. Sets the input range for a ListBox or a ComboBox. When applied to other objects, this mehtod does nothing. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Input range for the object.
Links the object to a cell, if the object can be linked. If the object is a radio button then all the other radio buttons in the group will be linked to the same cell, so when the cell changes the radio buttons too, and vice-versa. To unlink the cell, make linkedCell null. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Cell that will be linked to the radio button. To unlink the radio button, make this parameter null.
Associates an object with a macro. While this will normally be used in buttons, you can associate macros to almost any object. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Macro that will be associated with the object. Look at apimate to know the exat name you have to enter here.
Sets the name for an autoshape. Index of the object (1-based) Index to the child object you want to change the text. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Name for the autoshape. Use null to remove the name from an AutoShape.
Sets an Hyperlink property for an autoshape. Verify the property expects a Hyperlink, currently only expects hyperlinks. This is an advanced method and should be used with care. For normal use, you should use one of the standard methods. Index of the object (1-based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Property you want to change. Fro hyperlinks it should be Value you want to use.
Sets a DOUBLE (Encoded as 16.16) property for an autoshape. Verify the property expects a DOUBLE. This is an advanced method and should be used with care. For normal use, you should use one of the standard methods. Index of the object (1-based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Property you want to change. Value you want to use.
Sets a BOOLEAN property for an autoshape. Verify the property expects a BOOLEAN. This is an advanced method and should be used with care. For normal use, you should use one of the standard methods. Note that boolean properties are all stored in the same byte of the last property in the set. Index of the object (1-based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Property you want to change. MAKE SURE it is the LAST property in the set. Boolean properties are grouped so all properties on one set are in only one value. So, the last bool property on the set is the first bit, and so on. ONLY THE LAST PROPERTY ON THE SET IS PRESENT. Value you want to use.
Sets a LONG property for an autoshape. Verify the property expects a LONG. This is an advanced method and should be used with care. For normal use, you should use one of the standard methods. Index of the object (1-based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Property you want to change. Value you want to use.
Sets a STRING property for an autoshape. Verify the property expects a STRING. This is an advanced method and should be used with care. For normal use, you should use one of the standard methods. (like SetObjectText) Index of the object (1-based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Property you want to change. Text you want to use.
Sets the selected item of an object from the "Forms" palette. It can be a combobox, a listbox, a spinbox or a scrollbar. Note that this only works for objects added through the Forms toolbar. It won't return the values of ActiveX objects. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Position of the selected item in the object. 0 means no selection, 1 means that the first item is selected.
Sets the spin properties of an object. You should apply this only to scrollbars and spinners. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Properties of the spinner.
Sets the positon in a scrollbar object. If the object is linked to a cell, the cell will be updated. Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Position for the scrollbar.
Sets the text for an autoshape. If the object does not accept text, this method will do nothing. Index of the object (1-based) Index to the child object you want to change the text. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" Text you want to use. Use null to delete text from an AutoShape.
This method will set all the headers and footers in a sheet. If you want a simple header or footer for all the pages, you might want to use and Structure with the headers and footers definition. Sets printer driver information. This method is not intended to be used alone, but together with to copy printer driver information from a file to another. Printer driver information obtained with . Use null to remove the printer settings. Sets the Margins on the active sheet. Sets the value of a radio button in the active sheet. Note that this only works for radio buttons added through the Forms toolbar. It won't return the values of ActiveX radio buttons Index of the object (1 based) Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from

If it is "absolute"(it starts with "\\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\\1\\2\\3" is exactly the same as using objectIndex = 1 and objectPath = "2\\3" If true, the option button will be set, and all other buttons in the range will be deselected. When false the radio button will be deselected.
Sets the format characteristics specified in ApplyFormat for the entire row. Row index (1-based) Format to apply. Indicates which properties of newFormat will be applied to the cells. When true, all existing cells on the row will be reset to this format. This is the standard Excel behavior and the recommended option. If you don't care about existing cells, you can speed up this method by setting it to false. Sets the XF format for the entire row. Row index (1-based) XF format. When true, all existing cells on the row will be reset to this format. This is the standard Excel behavior and the recommended option. If you don't care about existing cells, you can speed up this method by setting it to false. Sets the current Row height, in Excel internal units. (1/20th of a point) Row Index (1 based) Row height, in Excel internal units. (1/20th of a point). See Hides or shows an specific row. Row index (1 based) If true, row will be hidden, if false it will be visible. Sets all Row options at once (if the row is autosize, if it is hidden, etc). Row Index (1 based) A flag with all row options Sets the Outline level for a row range. Row index of the first row on the range. (1 based) Row index of the last row on the range. (1 based) Outline level. must be between 0 and 7. Modifies an existing style if name already exists, or creates a new style if it doesn't. Name for the style. It might be an user defined name, or a built-in name. You can get a list of buit.in names with The new style definition. This is an advanced method, that allows you to set the full theme in use. Normally you will just want to replace colors, and you can do this with and methods.
This method is only available in .NET 3.5 or newer
Theme to set. You would normally use the result from here, or you might load a method from a ".tmx" file. There are many standard tmx files available in an Office instalation under the "Document Themes Version" folder
Sets either the minor or the major font for the theme. Font Scheme we want to set (either minor or major). Using "none" here will do nothing. Font definition. Creates an Excel What-if table in the range of cells specified by Range. Calling this method is tha same as setting a cell value with a TFormula where TFormula.Span has more than one cell, and TFormula.Text is something like "{=TABLE(,A4)}". The parameters for the =TABLE function are rowInputCell and colInputCell, and they look the same a Excel will show them. Range for the table. This is the range of cells that will have "={TABLE()}" formulas. Row input cell for the table. Make it null if you don't want a row input cell. If both rowInputCell and colInputCell are null, a table with deleted references will be added.

Note that the sheet here is ignored, What-if tables need the input cells to be in the same sheet as the table. Column input cell for the table. Make it null if you don't want a column input cell. If both rowInputCell and colInputCell are null, a table with deleted references will be added.

Note that the sheet here is ignored, What-if tables need the input cells to be in the same sheet as the table.
Returns or sets the codename of a sheet, that is an unique identifier assigned to the sheet when it is created. Codenames are useful because they never change once the file is created, and they are what macros reference. Very important! Don't change a codename once it has ben created if you have macros or other objects that might reference them. The number of sheets on the file. Reads and changes the name of the active sheet. To switch to another sheet by its name, use This property groups a lot of properties of the sheet, like for example if it is showing formula texts or the results. Most of this properties can be changed directly from XlsFile, but this method allows you to change them all together, or to easily copy the options from one file to another. Look also at for options that affect all sheets. Reads/Writes the color of the current sheet tab. to specify no color. Use this property to know it the is a worksheet, a chart sheet or other. Sets the visibility of the active sheet. This property groups a lot of properties of all the sheets in the workbook, like for example if the sheet tab bar at the bottom is visible. Look also at for options that affect only the active sheet. Reads/Writes the zoom of the current sheet. When true, the formula text will be displayed instead of the formula value. You can also set this option with True if the gray grid lines are shown on the Active sheet. You can also set this option with Sorts a range on the current sheet. Range to sort. It must not include headers. If true, rows will be sorted. If false, columns will. An array of integers indicating the columns or rows you want to use for sorting. Note that this number is absolute, for example column 1 always means column "A" no matter if the range we are sorting begins at column "B". A null array means sort by the first column or row, then by the second, etc. up to 8 entries. An array of flags indicating whether to sort ascending or descending for each Key. If null, all sorts will be ascending. If not null and the array size is less than the size of the "Keys" parameter, all missing entries are assumed to be Ascending. Comparer to create a custom way to compare the different items. Set it to null to use default ordering. This command is equivalent to Menu->Window->Split. It will split the window in 4 regions. Note that because Excel works this way, when you the windows are unsplitted and vice-versa See also Offset from the left on 1/20 of a point. Zero for no vertical split. Offset from the top on 1/20 of a point. Zero for no horizontal split. Returns the number of named styles in the file. Tries to convert a string into an built-in style identifier. Will return true if styleName can be converted, false otherwise. Style that we want to convert to built-in style. Returns the built-in style. This value is only valid if this method returns true. Returns the level built-in style (1 based). This value is only valid if this method returns true, and only applies to outline styles. It will be 0 for non outline styles. True is styleNameis a built-in style (and thus style and level are valid), false otherwise. Unmerges the range of cells. The coordinates have to be exact, if there is no merged cell with the exact coordinates, nothing will be done. First row of the merged cell. First column of the merged cell. Last row of the merged cell. Last column of the merged cell. Factor to multiply default column widths. See remarks for a detailed explanation.