diff --git a/src/MiniExcel.OpenXml/Constants/WorksheetXml.cs b/src/MiniExcel.OpenXml/Constants/WorksheetXml.cs index f0f21498..0792dd0d 100644 --- a/src/MiniExcel.OpenXml/Constants/WorksheetXml.cs +++ b/src/MiniExcel.OpenXml/Constants/WorksheetXml.cs @@ -15,7 +15,8 @@ internal static class WorksheetXml internal const string StartSheetViews = ""; internal const string EndSheetViews = ""; - internal static string StartSheetView( int tabSelected=0, int workbookViewId=0 ) => $""; + internal static string StartSheetView( int tabSelected = 0, int workbookViewId = 0, bool rightToLeft = false) + => $""; internal const string EndSheetView = ""; internal const string StartSheetData = ""; diff --git a/src/MiniExcel.OpenXml/OpenXmlConfiguration.cs b/src/MiniExcel.OpenXml/OpenXmlConfiguration.cs index 0781d278..9056f6f7 100644 --- a/src/MiniExcel.OpenXml/OpenXmlConfiguration.cs +++ b/src/MiniExcel.OpenXml/OpenXmlConfiguration.cs @@ -10,6 +10,7 @@ public class OpenXmlConfiguration : MiniExcelBaseConfiguration public bool FillMergedCells { get; set; } public TableStyles TableStyles { get; set; } = TableStyles.Default; public bool AutoFilter { get; set; } = true; + public bool RightToLeft { get; set; } = false; public int FreezeRowCount { get; set; } = 1; public int FreezeColumnCount { get; set; } = 0; public bool EnableConvertByteArray { get; set; } = true; diff --git a/src/MiniExcel.OpenXml/OpenXmlWriter.DefaultOpenXml.cs b/src/MiniExcel.OpenXml/OpenXmlWriter.DefaultOpenXml.cs index b6650bb8..e893b741 100644 --- a/src/MiniExcel.OpenXml/OpenXmlWriter.DefaultOpenXml.cs +++ b/src/MiniExcel.OpenXml/OpenXmlWriter.DefaultOpenXml.cs @@ -68,14 +68,14 @@ private ExcellSheetInfo GetSheetInfos(string sheetName) private string GetSheetViews() { // exit early if no style to write - if (_configuration is { FreezeRowCount: <= 0, FreezeColumnCount: <= 0 }) + if (_configuration is { FreezeRowCount: <= 0, FreezeColumnCount: <= 0, RightToLeft: false }) return string.Empty; var sb = new StringBuilder(); // start sheetViews sb.Append(WorksheetXml.StartSheetViews); - sb.Append(WorksheetXml.StartSheetView()); + sb.Append(WorksheetXml.StartSheetView(rightToLeft: _configuration.RightToLeft)); // Write panes sb.Append(GetPanes());