Import stream from Database

6 posts, 0 answers
  1. G
    G avatar
    2 posts
    Member since:
    Feb 2013

    Posted 27 Feb 2013 Link to this post

    Hi,

    I'm wondering if there is a simple way to import a stream (Excel file) from a database instead of the usual case of study which open a dialog box?

    => XlsxFormatProvider().Import(stream)

    Is it necessary to override ImportOverride in XlsxFormatProvider in order to not generate error like "no directory found!" (avoid those kind of control)

    Do you have a simple solution to perform that?
    Thanks

    JG



  2. Andrew
    Admin
    Andrew avatar
    140 posts

    Posted 28 Feb 2013 Link to this post

    Hello GJ,

    Overriding ImportOverride in XlsxFormatProvider is not necessary. There is a static class called WorkbookFormatProvidersManager which has a method Import. Using this method you can retrieve a Workbook object and set it to your RadSpreadsheet. Here is some code you can find useful:

    using (FileStream fileStream = File.OpenRead("test.xlsx"))
    {
    this.spreadsheet.Workbook = WorkbookFormatProvidersManager.Import(".xlsx", fileStream);
    }
    NOTE: In order to use our XlsxFormatProvider you need to register it first using the following code:
    WorkbookFormatProvidersManager.RegisterFormatProvider(new XlsxFormatProvider());

    Hope that helps. If you have any other difficulties get back to us.

     All the best,
    Andrew
    the Telerik team

    Explore the entire Telerik portfolio by downloading Telerik DevCraft Ultimate.

  3. DevCraft banner
  4. G
    G avatar
    2 posts
    Member since:
    Feb 2013

    Posted 28 Feb 2013 Link to this post

    Hi!

    Thanks this works perfectly.

    Is it possible to import other excel file format such as .xls/.xlsm ?

    GJ
  5. Andrew
    Admin
    Andrew avatar
    140 posts

    Posted 01 Mar 2013 Link to this post

    Hi GJ,

    For the time being RadSpreadsheet supports three formats as you can read here. For Q2 2013 we plan to extend our XLSX support, but unfortunately new formats beside those described in this article won't be supported. However after Q2 release we will evaluate the effort and demand of new formats and if possible add support for the most requested ones.

    Regards,
    Andrew
    the Telerik team

    Explore the entire Telerik portfolio by downloading Telerik DevCraft Ultimate.

  6. Mr
    Mr avatar
    4 posts
    Member since:
    Feb 2014

    Posted 19 Feb 2014 in reply to Andrew Link to this post

    Hello
     follwing code i am using
      Workbook workbook;
                    IWorkbookFormatProvider formatProvider = new XlsxFormatProvider();
                    using (FileStream input = new FileStream(filePath, FileMode.Open))
                    {
                        workbook = formatProvider.Import(input);
                    }
       when i am trying to import the differnt excel files then some files successfully loaded and some are not giving the follwoing two kind of errors
    Error 1:
    {System.IndexOutOfRangeException: Index was outside the bounds of the array.
       at Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.Model.Types.Ref..ctor(String range) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Documents\Spreadsheet\FormatProviders\OpenXml\Xlsx\Model\Types\Ref.cs:line 51
       at Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.Model.Types.StringConvertibleFactory.<.cctor>b__1(String s) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Documents\Spreadsheet\FormatProviders\OpenXml\Xlsx\Model\Types\StringConvertibleFactory.cs:line 23
       at Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.Model.Types.StringConvertibleFactory.CreateInstance(Type type, String value) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Documents\Spreadsheet\FormatProviders\OpenXml\Xlsx\Model\Types\StringConvertibleFactory.cs:line 45
       at Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.OpenXml.OpenXmlAttribute`1.SetStringValue(String value) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Documents\Spreadsheet\FormatProviders\OpenXml\OpenXml\OpenXmlAttributeOfT.cs:line 88
       at Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.OpenXml.OpenXmlElementBase.ReadFrom(IOpenXmlReader reader) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Documents\Spreadsheet\FormatProviders\OpenXml\OpenXml\OpenXmlElementBase.cs:line 140
       at Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.OpenXml.OpenXmlElementBase.ReadFrom(IOpenXmlReader reader) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Documents\Spreadsheet\FormatProviders\OpenXml\OpenXml\OpenXmlElementBase.cs:line 159
       at Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.OpenXml.OpenXmlElementBase.ReadFrom(IOpenXmlReader reader) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Documents\Spreadsheet\FormatProviders\OpenXml\OpenXml\OpenXmlElementBase.cs:line 159
       at Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.OpenXml.OpenXmlElementBase.ReadFrom(IOpenXmlReader reader) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Documents\Spreadsheet\FormatProviders\OpenXml\OpenXml\OpenXmlElementBase.cs:line 159
       at Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.OpenXml.OpenXmlElementBase.ReadFrom(IOpenXmlReader reader) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Documents\Spreadsheet\FormatProviders\OpenXml\OpenXml\OpenXmlElementBase.cs:line 159
       at Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.OpenXml.OpenXmlPartBase.ReadFrom(IOpenXmlReader reader) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Documents\Spreadsheet\FormatProviders\OpenXml\OpenXml\OpenXmlPartBase.cs:line 63
       at Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.Import.XlsxImporter.ReadXlsxPartFromPackage(ZipPackageEntry zipPackageEntry, XlsxPartBase part) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Documents\Spreadsheet\FormatProviders\OpenXml\Xlsx\Import\XlsxImporter.cs:line 120
       at Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.Import.XlsxImporter.ReadAllParts(Dictionary`2 zipPackageEntries, ContentTypesPart contentTypesPart) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Documents\Spreadsheet\FormatProviders\OpenXml\Xlsx\Import\XlsxImporter.cs:line 136
       at Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.Import.XlsxImporter.Import(Stream input, XlsxImportSettings settings) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Documents\Spreadsheet\FormatProviders\OpenXml\Xlsx\Import\XlsxImporter.cs:line 99
       at Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.XlsxFormatProvider.ImportOverride(Stream input) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Documents\Spreadsheet\FormatProviders\OpenXml\Xlsx\XlsxFormatProvider.cs:line 122
       at Telerik.Windows.Documents.Spreadsheet.FormatProviders.WorkbookFormatProviderBase.Import(Stream input) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Documents\Spreadsheet\Core\FormatProviders\WorkbookFormatProviderBase.cs:line 39
       at DocumentViewer.MainWindow.LoadExcel(String filePath) in C:\Users\tufailm\Desktop\New folder\DocViewer\DocumentViewer\DocumentViewer\MainWindow.xaml.cs:line 135}
     
     
     
     
     
     
     
     
     
     
    Error 2:
    {System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
       at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
       at Telerik.Windows.Documents.Spreadsheet.Core.DataStructures.QueueDictionary`2.get_Item(TKey key) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Documents\Spreadsheet\Core\Core\DataStructures\QueueDictionary.cs:line 64
       at Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.Contexts.ResourceIndexedTable`1.get_Item(Int32 index) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Documents\Spreadsheet\FormatProviders\OpenXml\Xlsx\Contexts\ResourceIndexedTable.cs:line 27
       at Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.Model.Elements.Stylesheet.ColorElementBase.CreateThemableColor(XlsxWorkbookImportContext context) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Documents\Spreadsheet\FormatProviders\OpenXml\Xlsx\Model\Elements\Stylesheet\ColorElementBase.cs:line 127
       at Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.Model.Elements.Stylesheet.FontElement.CopyPropertiesTo(XlsxWorkbookImportContext context, FontInfo font) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Documents\Spreadsheet\FormatProviders\OpenXml\Xlsx\Model\Elements\Stylesheet\FontElement.cs:line 233
       at Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.Model.Elements.Stylesheet.FontsElement.CreateFontInfo(XlsxWorkbookImportContext context, FontElement fontElement) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Documents\Spreadsheet\FormatProviders\OpenXml\Xlsx\Model\Elements\Stylesheet\FontsElement.cs:line 84
       at Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.Model.Elements.Stylesheet.FontsElement.CopyPropertiesTo(XlsxWorkbookImportContext context, ResourceIndexedTable`1 fontTable) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Documents\Spreadsheet\FormatProviders\OpenXml\Xlsx\Model\Elements\Stylesheet\FontsElement.cs:line 74
       at Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.Model.Elements.Stylesheet.StyleSheetElement.CopyPropertiesTo(XlsxWorkbookImportContext context, StyleSheet styleSheet) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Documents\Spreadsheet\FormatProviders\OpenXml\Xlsx\Model\Elements\Stylesheet\StyleSheetElement.cs:line 202
       at Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.Model.Parts.StylesPart.Import(XlsxWorkbookImportContext context) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Documents\Spreadsheet\FormatProviders\OpenXml\Xlsx\Model\Parts\StylesPart.cs:line 85
       at Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.Import.XlsxImporter.Import(Stream input, XlsxImportSettings settings) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Documents\Spreadsheet\FormatProviders\OpenXml\Xlsx\Import\XlsxImporter.cs:line 106
       at Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.XlsxFormatProvider.ImportOverride(Stream input) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Documents\Spreadsheet\FormatProviders\OpenXml\Xlsx\XlsxFormatProvider.cs:line 122
       at Telerik.Windows.Documents.Spreadsheet.FormatProviders.WorkbookFormatProviderBase.Import(Stream input) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Documents\Spreadsheet\Core\FormatProviders\WorkbookFormatProviderBase.cs:line 39
       at DocumentViewer.MainWindow.LoadExcel(String filePath) in C:\Users\tufailm\Desktop\New folder\DocViewer\DocumentViewer\DocumentViewer\MainWindow.xaml.cs:line 135}
  7. Boryana
    Admin
    Boryana avatar
    330 posts

    Posted 21 Feb 2014 Link to this post

    Hello,

    Thank you for writing.

    I kindly ask you to open a new support ticket and attach the xlsx files that cannot be imported there. Once we are able to replicate the issue on our side, we will do our best to address it. Thank you in advance.

    I am looking forward to your reply.

    Regards,
    Boryana
    Telerik
Back to Top
DevCraft banner