मुझे अपनी OpenXML बनाई गई स्प्रेडशीट खोलते समय एक त्रुटि प्राप्त हो रही है। निम्नानुसार त्रुटि है।मरम्मत किए गए रिकॉर्ड्स: स्क्रैच से बनाए गए वर्कशीट से सेल जानकारी
Repaired Records: Cell information from /xl/worksheets/sheet.xml part
Repaired Records: Cell information from /xl/worksheets/sheet2.xml part
Repaired Records: Cell information from /xl/worksheets/sheet3.xml part
केवल एक चीज मैं ऑनलाइन मिल सकता है कि मददगार था इस मुद्दे के लिए एक एल्गोरिथ्म जो किसी एक सेल को कई बार समस्या पैदा कर बदल की चर्चा थी। ऐसा कहकर, मैं अपने कन्स्ट्रक्टर को स्प्रेडशीट दस्तावेज़ के साथ-साथ एक सेल को अपडेट करने के लिए तीन कार्यों को जोड़ने जा रहा हूं (जो मैं एक बार करता हूं)।
मैं आवश्यकतानुसार कोई अतिरिक्त कार्य प्रदान कर सकता हूं, लेकिन मेरा मानना है कि समस्या नीचे सूचीबद्ध दो में कहीं कहीं है। के रूप में इरादा
वैसे,
GetWorksheetPartByName
InsertCellInWorksheet
GetCell
सभी कार्य करना चाहिए।
वास्तविक कार्यक्रम
static void Main(string[] args)
{
//Full path for File
const string newFile = "@C:\test.xlsx";
//Constructor creates default worksheet called "mySheet"
var spreadsheet = new XLSXHelper(newFile);
//updating some cells.
spreadsheet.UpdateCell("mySheet", "D2", "R", 2);
}
निर्माता
public XLSXHelper(string filepath)
{
newFile = filepath;
spreadsheetDocument = SpreadsheetDocument.Create(filepath, SpreadsheetDocumentType.Workbook);
this.workbookPart = spreadsheetDocument.AddWorkbookPart();
workbookPart.Workbook = new Workbook();
this.worksheetPart = workbookPart.AddNewPart<WorksheetPart>();
worksheetPart.Worksheet = new Worksheet(new SheetData());
Sheets sheets = spreadsheetDocument.WorkbookPart.Workbook.
AppendChild<Sheets>(new Sheets());
Sheet sheet = new Sheet()
{
Id = spreadsheetDocument.WorkbookPart.
GetIdOfPart(worksheetPart),
SheetId = 1,
Name = "mySheet"
};
sheets.Append(sheet);
workbookPart.Workbook.Save();
spreadsheetDocument.Close();
}
अद्यतन सेल
public void UpdateCell(string worksheetName, string textToInsert, string columnName, uint rowIndex)
{
using (SpreadsheetDocument spreadSheet = SpreadsheetDocument.Open(newFile, true))
{
WorksheetPart worksheetPart = GetWorksheetPartByName(spreadSheet, worksheetName);
if (worksheetPart != null)
{
InsertCellInWorksheet(columnName, rowIndex, worksheetPart);
Cell cell = GetCell(worksheetPart.Worksheet,columnName, rowIndex);
cell.CellValue = new CellValue(textToInsert);
worksheetPart.Worksheet.Save();
}
}
}
[EPPlus] (http://epplus.codeplex.com/) का उपयोग करते हुए, मेरे कोड में त्रुटि आई, जब मैंने वर्कशीट बनाया जिसमें या तो बहुत लंबा नाम और/या निषिद्ध वर्ण हैं। समाधान वर्कशीट के लिए एक संक्षिप्त, वैध नाम का उपयोग करना था। –