diff --git a/src/Luban.Job.Cfg/Luban.Job.Cfg.csproj b/src/Luban.Job.Cfg/Luban.Job.Cfg.csproj
index b269046..7962eed 100644
--- a/src/Luban.Job.Cfg/Luban.Job.Cfg.csproj
+++ b/src/Luban.Job.Cfg/Luban.Job.Cfg.csproj
@@ -13,7 +13,8 @@
-
+
+
diff --git a/src/Luban.Job.Cfg/Source/DataSources/Excel/ExcelDataSource.cs b/src/Luban.Job.Cfg/Source/DataSources/Excel/ExcelDataSource.cs
index 8d74065..1e1254a 100644
--- a/src/Luban.Job.Cfg/Source/DataSources/Excel/ExcelDataSource.cs
+++ b/src/Luban.Job.Cfg/Source/DataSources/Excel/ExcelDataSource.cs
@@ -18,13 +18,29 @@ namespace Luban.Job.Cfg.DataSources.Excel
private readonly List _sheets = new List();
+ private System.Text.Encoding DetectCsvEncoding(Stream fs)
+ {
+ Ude.CharsetDetector cdet = new Ude.CharsetDetector();
+ cdet.Feed(fs);
+ cdet.DataEnd();
+ fs.Seek(0, SeekOrigin.Begin);
+ if (cdet.Charset != null)
+ {
+ Console.WriteLine("Charset: {0}, confidence: {1}", cdet.Charset, cdet.Confidence);
+ return System.Text.Encoding.GetEncoding(cdet.Charset) ?? System.Text.Encoding.Default;
+ }
+ else
+ {
+ return System.Text.Encoding.Default;
+ }
+ }
public override void Load(string rawUrl, string sheetName, Stream stream, bool exportTestData)
{
s_logger.Trace("{filename} {sheet}", rawUrl, sheetName);
RawUrl = rawUrl;
string ext = Path.GetExtension(rawUrl);
- using (var reader = ext != ".csv" ? ExcelReaderFactory.CreateReader(stream) : ExcelReaderFactory.CreateCsvReader(stream))
+ using (var reader = ext != ".csv" ? ExcelReaderFactory.CreateReader(stream) : ExcelReaderFactory.CreateCsvReader(stream, new ExcelReaderConfiguration() { FallbackEncoding = DetectCsvEncoding(stream) }))
{
do
{
diff --git a/src/Luban.Job.Cfg/Source/Defs/CfgDefLoader.cs b/src/Luban.Job.Cfg/Source/Defs/CfgDefLoader.cs
index 712a230..ace3fc7 100644
--- a/src/Luban.Job.Cfg/Source/Defs/CfgDefLoader.cs
+++ b/src/Luban.Job.Cfg/Source/Defs/CfgDefLoader.cs
@@ -286,7 +286,7 @@ namespace Luban.Job.Cfg.Defs
{
throw new Exception($"定义文件:{CurImportFile} table:'{p.Name}' group:'{invalidGroup}' 不存在");
}
- p.InputFiles.AddRange(input.Split(','));
+ p.InputFiles.AddRange(input.Split(',').Select(s => s.Trim()).Where(s => !string.IsNullOrWhiteSpace(s)));
if (!string.IsNullOrWhiteSpace(branchInput))
{
diff --git a/src/Luban.Server/Luban.Server.csproj b/src/Luban.Server/Luban.Server.csproj
index 84d2713..9f0aeb9 100644
--- a/src/Luban.Server/Luban.Server.csproj
+++ b/src/Luban.Server/Luban.Server.csproj
@@ -24,7 +24,6 @@
-