0

我的应用程序是一个 Mvc4 Web 应用程序我正在读取一个可能有 20,000 条记录的 excel 文件循环将遍历整个 excel 文件并将所有有错误的行添加到字符串构建器对象中,用户应该能够稍后在文件中更正. 我的用户希望它显示在一个文本文件中,比如他们可以立即看到的日志文件。我现在在一个 div 中显示这个,但害怕当他们遇到很多错误时这可能会很困难

Que:我如何将所有这些错误记录在一个文本文件中,我的用户可以单击该文本文件并查看客户端上的错误行。

请注意,多个用户可以使用此 Web 应用程序。

                    StringBuilder sb = new StringBuilder();
                    for (int rowNumber = startRow + 1; rowNumber <= currentWorkSheet.Dimension.End.Row; rowNumber++)
                            // read each row from the start of the data (start row + 1 header row) to the end of the spreadsheet.
                    {

                        try
                        {

                            object col1Value = currentWorkSheet.Cells[rowNumber, 1].Value;
                            object col2Value = currentWorkSheet.Cells[rowNumber, 2].Value;
                            object col3Value = currentWorkSheet.Cells[rowNumber, 3].Value;
                            object col4Value = currentWorkSheet.Cells[rowNumber, 4].Value;

                            if ((col1Value != null && col2Value != null))
                            {
                                exampleDataList.Add(new PersonalData
                                {
                                    firstname = col1Value.ToString(),
                                    lastname = col2Value.ToString(),
                                    currentDate = col3Value == null ? DateTime.MinValue : Convert.ToDateTime(col3Value),
                                    mySalary = col4Value == null ? 0 : Convert.ToInt32(col4Value)
                                });
                            }

                        }      
                        catch (Exception e)
                        {
                             //log exception here
                            sb.AppendFormat("{0}: {1}{2}",rowNumber, e.Message, Environment.NewLine);           
                        }
                    } 

                    //convert the StringBuilder into the final string object
                    string allMessages = sb.ToString();
4

1 回答 1

0

也许像 Log4Net 这样的东西就足以满足您的需求。最后,您甚至可以提供一个 UI 来处理应用程序中的这些有问题的条目。

那么为什么不将它们存储在您的数据库中,然后在自定义 UI 中显示它们,用户可以在其中以协作的方式一一处理问题呢?

于 2013-07-24T13:28:23.467 回答