Я использую пакет nuget с именем ExcelDataReader в приложении MVC для чтения листа Excel и преобразования его в HTML. Все звуки goof, но я не могу читать специальный символ из Например, значение ячейки «59%», но его чтение 0,59.Сколько я могу получить точное значение строки из excel.Я использую следующий код в контроллере для чтения и отображения excel для html.ExcelDataReader 2.1.0: Чтение специального символа, такого как '%'
public ActionResult ViewExcelFileData(long? id, int sheetindex)
{
var excelfile = db.ExcelUpload.FirstOrDefault(x => x.FileID == id);
string filePath= string.Format(Server.MapPath("~/App_Data/ExcelUploads/Labor_Excel/") + excelfile.FileName);
System.IO.File.GetAccessControl(filePath);
FileStream stream = System.IO.File.Open(filePath, FileMode.Open, FileAccess.Read);
IExcelDataReader reader = null;
if (excelfile.FileName.EndsWith(".xls"))
{
reader = ExcelReaderFactory.CreateBinaryReader(stream);
}
else if (excelfile.FileName.EndsWith(".xlsx"))
{
reader = ExcelReaderFactory.CreateOpenXmlReader(stream);
}
reader.IsFirstRowAsColumnNames = true;
DataSet result = reader.AsDataSet();
reader.Close();
return View(result.Tables[sheetindex]);
}
По возвращении datatable в View side я использую следующий код в Cshtml.
<table class="gridtable" id="table-1">
<thead class="fixed_headers">
<tr>
@foreach (DataColumn col in Model.Columns)
{
<th>@col.ColumnName</th>
}
</tr>
</thead>
<tbody>
@foreach (DataRow row in Model.Rows)
{
<tr>
@foreach (DataColumn col in Model.Columns)
{
<td>@row[col.ColumnName]</td>
}
</tr>
}
</tbody>
</table>
Так возможно в стороне контроллера или вид сбоку я могу получить 59% вместо 0,59?
Это два изображения, в которых один принадлежит excel, а второй - HTML.
ИЗОБРАЖЕНИЯ: 1
ИЗОБРАЖЕНИЯ 2:
Я пробовал, но его не работает. Также возвращается то же значение, что и 0,59. Есть ли другой способ? – Csharp