Почему я не могу использовать Open() из XlsIO в xamarin?

#c# #xamarin.android

#c# #xamarin.android

Вопрос:

Затем я использую Open из ресурсов в xamarin и открываю в рабочих книгах, когда я создаю свое приложение, оно перестало работать, но если я пишу на обычной консоли, оно работает, что я забыл?

 var asset = Application.Context.Assets.Open("test.xlsx");

new ExcelEngine().Excel.Workbooks.Open(asset);
  

https://help.syncfusion.com/file-formats/xlsio/create-read-edit-excel-files-in-xamarin-c-sharp

Ответ №1:

В Android вы можете попробовать приведенный ниже код.

  string filePath="test.xlsx";
 using (ExcelEngine excelEngine = new ExcelEngine())
        {
            IApplication application = excelEngine.Excel;
            application.DefaultVersion = ExcelVersion.Excel2016;

            var asset = Android.App.Application.Context.Assets.Open(filePath);

            using (StreamReader sr = new StreamReader(asset))
            {
                var inputStream = sr.BaseStream;
                //Open the Tab delimited CSV file
                IWorkbook workbook = application.Workbooks.Open(inputStream, "t");
                IWorksheet sheet = workbook.Worksheets[0];

                var s = sheet.Columns.Count();
            }
        }
  

Код хорошо работает на моей стороне, чтобы получить количество столбцов в Excel.

Если вы хотите использовать это в Xamarin.Формы, вы могли бы использовать службу зависимостей. https://learn.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/dependency-service/introduction