26.07.21
This commit is contained in:
@@ -21,16 +21,16 @@ internal sealed class ExcelBook : IBook
|
||||
public IReadOnlyList<ISheet> GetSheets() => Writer.GetSheets();
|
||||
|
||||
/// <inheritdoc />
|
||||
public ISheet? Sheet(string name) => Writer.Sheet(name);
|
||||
public ISheet? Sheet(string name) => Writer.Sheet(name.EscapeSymbols());
|
||||
|
||||
/// <inheritdoc />
|
||||
public bool TryGetSheet(string name, out ISheet sheet) => Writer.TryGetSheet(name, out sheet);
|
||||
public bool TryGetSheet(string name, out ISheet sheet) => Writer.TryGetSheet(name.EscapeSymbols(), out sheet);
|
||||
|
||||
/// <inheritdoc />
|
||||
public bool TryAddSheet(string name, Action<ISheet>? edit = null) => Writer.TryAddSheet(name, edit);
|
||||
public bool TryAddSheet(string name, Action<ISheet>? edit = null) => Writer.TryAddSheet(name.EscapeSymbols(), edit);
|
||||
|
||||
/// <inheritdoc />
|
||||
public bool TryRemoveSheet(string name) => Writer.TryRemoveSheet(name);
|
||||
public bool TryRemoveSheet(string name) => Writer.TryRemoveSheet(name.EscapeSymbols());
|
||||
|
||||
/// <inheritdoc />
|
||||
public bool TryRemoveSheet(ISheet sheet) => Writer.TryRemoveSheet(sheet);
|
||||
@@ -40,4 +40,22 @@ internal sealed class ExcelBook : IBook
|
||||
|
||||
/// <inheritdoc />
|
||||
public NumberFormatPattern CreateNumberFormat(string format) => Writer.CreateNumberFormat(format);
|
||||
}
|
||||
|
||||
public static class EscapeExt
|
||||
{
|
||||
public static string EscapeSymbols(this string source)
|
||||
{
|
||||
var sb = new StringBuilder(source);
|
||||
|
||||
sb.Replace('/', '∕');
|
||||
sb.Replace('\\', '∖');
|
||||
sb.Replace('*', '∗');
|
||||
sb.Replace('?', '?');
|
||||
sb.Replace(':', '˸');
|
||||
sb.Replace('[', '[');
|
||||
sb.Replace(']', ']');
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
}
|
||||
@@ -33,7 +33,7 @@ internal sealed class ExcelSheet : ISheet
|
||||
{
|
||||
if (string.IsNullOrEmpty(name)) return false;
|
||||
Book.ThrowIfDisposed();
|
||||
SheetElement.Name = name;
|
||||
SheetElement.Name = name.EscapeSymbols();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user