我们使用ClosedXML将数据表对象转换为Excel电子表格,以便呈现给用户.只需将所有数据库值(来自NHibernate)分配给字符串然后按如下方式格式化它们即可构建DataTable对象:
//formatting
EstimatedCost = Currency.SafeToString(Currency.Create(n.EstimatedCost)),
Run Code Online (Sandbox Code Playgroud)
然后,我们将列类型设置为属性类型,即在所有情况下都为String.
在输出Excel工作表中会发生什么,因为该列设置为货币但具有数字作为文本警告,然后它将无法正确排序.
我的问题是,因为我们将所有数据构建到DataTable中,所以我没有机会正确地装饰ClosedXML列.有没有一种快速的方法可以做到这一点,我没想到?
public const string ExcelDataType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml";
public static MemoryStream GenerateExcelFileFromData(IEnumerable<KeyValuePair<string, DataTable>> tabs, int colWidth = 100)
{
var workbook = new XLWorkbook { ColumnWidth = colWidth };
foreach (var enumerable in tabs)
{
workbook.Worksheets.Add(enumerable.Value, enumerable.Key);
}
Run Code Online (Sandbox Code Playgroud)
...
public static DataTable ConvertToDataTable<T>(IEnumerable<T> varlist, List<string> excludedColumns, bool titleizeColumn = false)
{
var dtReturn = new DataTable();
// column names
PropertyInfo[] oProps = null;
if (varlist == null) return dtReturn;
foreach (T rec in varlist) …Run Code Online (Sandbox Code Playgroud) 我正在构建一个DotNet Core控制台应用程序。我注意到,当我将应用程序发布到文件系统时,输出文件中不包含appsettings.json文件。
我发现更改appsettings上的copy选项可以使其出现,但默认情况下不是。
不应将应用程序设置作为单独的文件包含在控制台应用程序中,以便您可以即时配置应用程序吗?
在我的 Azure 订阅中,我使用了 BlobStorage 类型的存储帐户和一些表示 Storage 或 StorageV2 的存储帐户...
我知道我的 BlobStorage 类型不支持表、文件等容器的区别。
但是,我还应该注意其他差异吗?StorageV2 比仅 Blob 存储更快吗?
嘿所有,我似乎到处都有这些类型的方法.
下面的方法想要做这些简单的任务:
所以这里是代码......我想要做的就是将这一点削减到最好和最快的方式来完成这些检查.我不关心数据库连接问题或类似的问题.
private static bool isLastIntervalNewerThanDB(string muiMethod)
{
using (var db = new IntLMPDB())
{
// Try to load a matching record.
LastIntervalUpdated liRec = db.LastIntervalUpdateds.FirstOrDefault(rec => rec.method == muiMethod);
// If it could not be loaded, exit because there's no way to determine if we should run.
if (liRec == null) { throw new Exception(string.Format("Could NOT find LastIntervalUpdated record for muiMethod: {0}", muiMethod)); }
else
{
// we have a valid interval record, …Run Code Online (Sandbox Code Playgroud) 我一直在阅读和学习 .Net Core 3.0 中提供的新 Worker Service 功能。我一直在使用 Microsoft 的此链接:后台任务与 ASP.NET Core 中的托管服务
我不明白的是,这些工作服务概念可以引入到现有的 ASPNET Web 项目中,例如 Razor Pages 站点吗?或者您必须创建一个新项目,然后使用主机操作系统为此提供的任何机制将该项目部署为服务?
在这种情况下,我有以下下拉列表拍卖实例,但没有标准来命名它们:
<select name="marketId" onchange="javascript:reload()"><option value="27" selected="selected">Jul08Auc</option>
<option value="61">Sep08Auc</option>
<option value="623">Dec10Auc</option>
<option value="743">Apr11Auc</option>
<option value="66">Oct08Auc</option>
<option value="81">Nov08Auc</option>
<option value="287">October 2009</option>
<option value="703">Mar11Auc</option>
<option value="222">Jun09Auc</option>
<option value="383">Mar10Auc</option>
<option value="423">Apr10Auc</option>
<option value="523">August 2010</option>
<option value="21">Jun08Auc</option>
<option value="105">Jan09Auc</option>
<option value="142">March 2009</option>
<option value="202">May 2009</option>
<option value="303">November 2009</option>
<option value="449">May10Auc</option>
<option value="463">June 2010</option>
<option value="503">July 2010</option>
<option value="663">Jan11Auc</option>
<option value="763">May11Auc</option>
<option value="122">Feb09Auc</option>
<option value="282">September 2009</option>
<option value="41">Aug08Auc</option>
<option value="543">September 2010</option>
<option value="603">Nov10Auc</option>
<option value="247">July 2009</option>
<option value="346">Jan10Auc</option>
<option value="363">Feb10</option>
<option value="683">Feb11Auc</option>
<option value="583">Oct10Auc</option>
<option value="101">Dec08Auc</option> …