Hej alla hjälpsamma pellesoftare. Antingen sätter du ' framför telefonnumret eller också formatterar du cellen som text före du skriver i den.nummerformat i excel från c# med visual studio tools for microsoft office
Har ett litet problem med att föra in data i excel. Jag vill föra in ett telefonnr i ett excel-ark(hoppas alla vet att telenr oftast börjar med en nolla), men när man fyller i ett telefonnr så tas nollan bort pga autoformateringen. När jag använder funktionen som heter autoformat, som jag gissar på är rätt funktion för att styra om det ska ske en autoformatering på nummer, så formateras kolumnen iaf. Har testat en hel del varianter och har sökt mig galen på google men utan resultat, tycker ju att det borde vara någon mer som har haft samma problem någon gång.
Här kommer koden, kanske har glömt någon del men som sagt så är det formatteringen om är problemet och inte
private object m_strSampleFolder = "C:\\ExcelData\\";
private object m_objOpt = System.Reflection.Missing.Value;
private Excel.Application m_objExcel = null;
private Excel.Workbooks m_objBooks = null;
private Excel._Workbook m_objBook = null;
private Excel.Sheets m_objSheets = null;
private Excel._Worksheet m_objSheet = null;
private Excel.Range m_objRange = null;
private CultureInfo oldCI;
m_objExcel = new Excel.Application();
oldCI = Thread.CurrentThread.CurrentCulture;
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks;
m_objBook = (Excel._Workbook)(m_objBooks.Add(m_objOpt));
m_objSheets = (Excel.Sheets)m_objBook.Worksheets;
m_objSheet = (Excel._Worksheet)(m_objSheets.get_Item(1));
m_objRange = m_objSheet.get_Range("A1", "A4");
m_objRange.Cells.AutoFormat(XlRangeAutoFormat.xlRangeAutoFormatNone, false, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt); //Det är den här raden jag har använt
m_objRange.set_Value(m_objOpt, "080808");
m_objBook.SaveAs(m_strSampleFolder + "Book1.xls", m_objOpt, m_objOpt,
m_objOpt, m_objOpt, m_objOpt, Excel.XlSaveAsAccessMode.xlNoChange,
m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt);
m_objBook.Close(false, m_objOpt, m_objOpt);
m_objExcel.Quit();
Thread.CurrentThread.CurrentCulture = oldCI;
Tack på förhand
Hittade min egen lösning 10 min efter postning här. Om någon är nyfiken:
m_objRange.EntireColumn.NumberFormat = "@";
Satt hela dagen och bråkade med detta problem och man ska alltid hitta svaret när man väl frågar.
Sv: nummerformat i excel från c# med visual studio tools for microsoft office